js的編寫位置:
1.可以將js代碼編寫到外部js文件中,然后通過script標(biāo)簽引入
寫到外部文件中可以在不同的頁面中同時引用,也可以利用到瀏覽器的緩存機(jī)制
這是推薦使用的方式
script標(biāo)簽一旦用于引入外部文件了,就不能再編寫代碼了,即使編寫了瀏覽器也會忽略
如果需要則可以再創(chuàng)建一個新的script標(biāo)簽用于編寫內(nèi)部代碼
2.可以將js代碼編寫到script標(biāo)簽中
<script type="text/javascript">
alert("我是script標(biāo)簽中的代碼!!");
</script>
3.可以將js代碼編寫到標(biāo)簽的onclick屬性中
當(dāng)我們點(diǎn)擊按鈕時,js代碼才會執(zhí)行
雖然可以寫在標(biāo)簽的屬性中,但是他們屬于結(jié)構(gòu)與行為耦合,不方便維護(hù),不推薦使用
4.可以將js代碼寫在超鏈接的href屬性中,這樣當(dāng)點(diǎn)擊超鏈接時,會執(zhí)行js代碼
js注釋
/**/多行注釋
注釋中的內(nèi)容不會被執(zhí)行,但是可以在源代碼中查看
要養(yǎng)成良好的編寫注釋的習(xí)慣,也可以通過注釋來對代碼進(jìn)行一些簡單的調(diào)試
/* alert("hello");*/
/*document.write("hello");*/
//單行注釋
// alert("hello");
// document.write("hello");
1.JS中嚴(yán)格區(qū)分大小寫
2.JS中每一條語句以分號(;)結(jié)尾
如果不寫分號,瀏覽器會自動添加,但是會消耗一些系統(tǒng)資源,
而且有些時候,瀏覽器會加錯分號,所以在開發(fā)中分號必須寫
3.JS中會忽略多個空格和換行,所以我們可以利用空格和換行對代碼進(jìn)行格式化
數(shù)據(jù)類型
數(shù)據(jù)類型指的就是字面量的類型
在JS中一共有六種數(shù)據(jù)類型
- String 字符串
- Number 數(shù)值
- Boolean 布爾值
- Null 空值
- Undefined 未定義
- Object 對象
其中String Number Boolean Null Undefined屬于基本數(shù)據(jù)類型Object屬于引用數(shù)據(jù)類型
String字符串
- 在JS中字符串需要使用引號引起來
- 使用雙引號或單引號都可以,但是不要混著用
- 引號不能嵌套,雙引號不能放雙引號,單引號不能放單引號
- 雙引號可以嵌套單引號,單引號也可以嵌套雙引號
在字符串中我們可以使用\作為轉(zhuǎn)義字符,當(dāng)表示一些特殊符號時可以使用\進(jìn)行轉(zhuǎn)義
\" 表示 "
\' 表示 '
\n 表示換行
\t 制表符
\\ 表示\
number
在JS中所有的數(shù)值都是Number類型,包括整數(shù)和浮點(diǎn)數(shù)(小數(shù))
JS中可以表示的數(shù)字的最大值
Number.MAX_VALUE
1.7976931348623157e+308
Number.MIN_VALUE 大于0的最小值5e-324
如果使用Number表示的數(shù)字超過了最大值,則會返回一個
-Infinity 表示正無窮
-Infinity 表示負(fù)無窮
使用typeof檢查Infinity也會返回number
NaN 是一個特殊的數(shù)字,表示Not A Number
使用typeof檢查一個NaN也會返回number
可以使用一個運(yùn)算符 typeof 來檢查一個變量的類型
語法:typeof 變量
檢查字符串時,會返回string
檢查數(shù)值時,會返回number
在JS中整數(shù)的運(yùn)算基本可以保證精確
如果使用JS進(jìn)行浮點(diǎn)運(yùn)算,可能得到一個不精確的結(jié)果
所以千萬不要使用JS進(jìn)行對精確度要求比較高的運(yùn)算
布爾
Boolean 布爾值
布爾值只有兩個,主要用來做邏輯判斷
true
- 表示真
false
- 表示假
使用typeof檢查一個布爾值時,會返回boolean
null和undefined
Null(空值)
類型的值只有一個,就是null
null這個值專門用來表示一個為空的對象
使用typeof檢查一個null值時,會返回object
Undefined(未定義)
類型的值只有一個,就undefind
當(dāng)聲明一個變量,但是并不給變量賦值時,它的值就是undefined
使用typeof檢查一個undefined時也會返回undefined
強(qiáng)制類型轉(zhuǎn)換
- 指將一個數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為其他的數(shù)據(jù)類型
- 類型轉(zhuǎn)換主要指,將其他的數(shù)據(jù)類型,轉(zhuǎn)換為String Number Boolean
將其他的數(shù)據(jù)類型轉(zhuǎn)換為String
方式一:
- 調(diào)用被轉(zhuǎn)換數(shù)據(jù)類型的toString()方法
- 該方法不會影響到原變量,它會將轉(zhuǎn)換的結(jié)果返回
- 但是注意:null和undefined這兩個值沒有toString()方法,如果調(diào)用他們的方法,會報錯
方式二:
- 調(diào)用String()函數(shù),并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)
- 使用String()函數(shù)做強(qiáng)制類型轉(zhuǎn)換時,
對于Number和Boolean實(shí)際上就是調(diào)用的toString()方法
但是對于null和undefined,就不會調(diào)用toString()方法
它會將 null 直接轉(zhuǎn)換為 "null"
將 undefined 直接轉(zhuǎn)換為 "undefined"
轉(zhuǎn)換為number
將其他的數(shù)據(jù)類型轉(zhuǎn)換為Number
轉(zhuǎn)換方式一:
使用Number()函數(shù)
- 字符串 --> 數(shù)字
1.如果是純數(shù)字的字符串,則直接將其轉(zhuǎn)換為數(shù)字
2.如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
3.如果字符串是一個空串或者是一個全是空格的字符串,則轉(zhuǎn)換為0
- 布爾 --> 數(shù)字
true 轉(zhuǎn)成 1
false 轉(zhuǎn)成 0
- null --> 數(shù)字 0
- undefined --> 數(shù)字 NaN
轉(zhuǎn)換方式二:
- 這種方式專門用來對付字符串
- parseInt() 把一個字符串轉(zhuǎn)換為一個整數(shù)
- parseFloat() 把一個字符串轉(zhuǎn)換為一個浮點(diǎn)數(shù)
其他進(jìn)制的數(shù)字
在js中,如果需要表示16進(jìn)制的數(shù)字,則需要以0x開頭
如果需要表示8進(jìn)制的數(shù)字,則需要以0開頭
如果要要表示2進(jìn)制的數(shù)字,則需要以0b開頭,但是不是所有的瀏覽器都支持。