第三章 基本概念
3.1 語法
- 區(qū)分大小寫
- 嚴格模式
- "use strict";
- 這其實是一個編譯指示(pragma)隘梨,用于告訴支持的js引擎切換到嚴格模式杠茬。
- 也可以單獨指定一個函數(shù)在嚴格模式下執(zhí)行
- 語句
- 分號代表一句話的結(jié)束
- 分號不是必須的外邓,但是推薦加上
3.2 關(guān)鍵字和保留字
- 一個原則沿盅,就是不要使用
3.3 變量
ECMAScript的變量是松散類型的
也就是可以保存任何類型的數(shù)據(jù)
也就是說僅僅是一個保存值的占位符而已
定義變量時需要使用關(guān)鍵字var操作符
var 操作符定義的變量將成為定義該變量的作用域中的局部變量
不使用var定義的是一個全局變量,但并不推薦使用
即便js是松散類型制恍,可是也不推薦一個變量不停地切換保存的數(shù)據(jù)類型
3.4 數(shù)據(jù)類型
-
js有六種數(shù)據(jù)類型
- 五種簡單數(shù)據(jù)類型: Undefined, Number, String, Boolean, Null
- 對象 Object
-
typeof操作符
- 檢測給定的變量的數(shù)據(jù)類型
- 是一個操作符雹熬,而非函數(shù)
-
Undefined類型
- 此類型只有一個值宽菜,即特殊的undefined
- 一個變量未初始化和未定義使用typeof檢測得到的結(jié)果是一樣的,都是"undefined"
- 一種好的編碼風格是竿报,當遇到變量時就對其進行初始化铅乡,這樣遇到"undefined"后就知道此變量未定義了
-
Null類型
- 第二個只有一個值得數(shù)據(jù)類型,即特殊的null
- null值表示一個空對象指針
- 在要定義一個對象時烈菌,一般會初始化為null阵幸,這一點和undefined有很大區(qū)別
-
Boolean類型
有兩個字面值:true和false
是區(qū)分大小寫的
-
其他類型的值可以轉(zhuǎn)換成Boolean,并且存在自動轉(zhuǎn)換
數(shù)據(jù)類型 轉(zhuǎn)換為true值 轉(zhuǎn)換為false的值 Boolean true false String 任何非空字符串 ""(空字符串) Number 任何非零數(shù)字值 0和NaN Object 任何對象 null Undefined n/a(not applicable的縮寫芽世,不適用的意思) undefined
-
Number類型
- 整形(十進制挚赊、八進制、十六進制)
- 浮點數(shù)
- NaN
- 數(shù)值轉(zhuǎn)換
- Number() -- 比較復雜济瓢,且不夠合理
- parseInt()
- parseFloat()
- 這幾個方法用好了功能還是很強大的
-
String類型
- 字符字面量
- 字符串的特點荠割,是不可變的。變得是變量
- 轉(zhuǎn)換為字符串
- .toString()方法
- String()函數(shù)
-
Objece類型
- 對象就是一組數(shù)據(jù)和功能的集合
- 通過new操作符后跟要創(chuàng)建的對象類型的名稱來創(chuàng)建
- 每個Object對象具有的屬性和方法
3.5 操作符
- 操作符的類型
- 一元操作符
- 自增旺矾、自減運算符(++蔑鹦、--)
- 一元加減運算符(+、-)
- 位操作符
- 位運算(~ & | << >> >>>)
- 布爾操作符
- 邏輯與箕宙、或嚎朽、非(&&、||柬帕、S慈獭)
- 乘性操作符
- 乘法 *
- 除法 /
- 求模 %
- 加性操作符
- 加法 + (注意字符串的加法)
- 減法 - (注意字符串的減法)
- 關(guān)系操作符
- 小于 <
- 大于 >
- 小于等于 <=
- 大于等于 >=
- 相等操作符
- 相等和不相等(== !=)
- 全等和不全等(=== !==)
- 條件操作符
- ?: (這是一個三元運算符)
- 賦值操作符
- =
- 復合賦值操作符(+= -=等等)
- 一元操作符
- 涉及到的常使用的方法
- Boolean()
- Number()
- valueOf()
- toString()
- 需要注意的地方
- 類型轉(zhuǎn)換
- NaN == NaN 返回false
- null == undefined true
3.6 語句
- if語句
- 建議即使是簡單的執(zhí)行語句,也是用{}包裹起來的代碼塊
- do...while語句
- 后測試循環(huán)語句(先執(zhí)行后判斷)
- while語句
- 前測試循環(huán)語句(先判斷后執(zhí)行)
- for基本循環(huán)語句
- for in
- label
- continue
- break
- with
- 由于效率問題不建議在大型項目開發(fā)中使用
- switch語句
3.7 函數(shù)
- 關(guān)鍵字 function陷寝、return
- return 可以有返回值锅很,也可以沒有
- 建議在寫函數(shù)時保持統(tǒng)一的風格,要么都寫上return盼铁,要么都不寫粗蔚,這樣會便于調(diào)試
- return之后的語句將永遠不會再執(zhí)行了
- 函數(shù)參數(shù)
- 函數(shù)參數(shù)無限制尝偎,用一個argument數(shù)組來接收傳遞過來的參數(shù)饶火,所以對個數(shù)沒有限制鹏控,這可以變相的理解成函數(shù)的重載
- js中函數(shù)沒有真正的重載,而是選擇后定義函數(shù)