JavaScript 標準參考教程(alpha)筆記
JavaScript 標準參考教程(alpha)筆記
http://javascript.ruanyifeng.com/#introduction
2.1.4 n--: 先使用n再執行n=n-1; --n: 在使用n之前先執行n=n-1;
2.1.5 區塊( { } )對於var
命令不構成單獨的作用域,與不使用區塊的情況沒有任何區別。
2.1.6.3 若switch結構中case代碼塊內部沒有break語句,否則就會接下去執行下一個case代碼。
需要註意的是,switch
語句後面的表達式,與case
語句後面的表示式比較運行結果時,采用的是嚴格相等運算符(===
),而不是相等運算符(==
),這意味著比較時不會發生類型轉換。
2.1.6.4 表達式一定返回一個值——(https://www.zhihu.com/question/39420977/answer/81250170)
2.1.7.4 break
語句用於跳出代碼塊或循環。continue
語句用於立即終止本輪循環,返回循環結構的頭部,開始下一輪循環。
如果存在多重循環,不帶參數的break
語句和continue
語句都只針對最內層循環。
break語句和continue語句怎麽帶參數:在 break / continue 後面添加一個 數字/標簽 來表示跳出 幾重循環/標簽循環,eg:break 2; /* 跳出2重循環*/;(http://wanlimm.com/77201406202191.html)
(關於語句筆記的一個鏈接:https://www.jianshu.com/p/0ec3434f7781)
2.1.7.5 標簽相當於定位符,可以是任意的標識符,通常配合break和continue使用。
對象文字是JavaScript的突出特點之一:它們允許您直接創建對象 - 不需要任何類。
- 對象:對象將數據存儲在屬性中。每個屬性都有一個名稱和一個值。
var obj = { propName1: 123, propName2: "abc" } obj.propName1 = 456; obj["propName1"] = 456; //
- 陣列
var arr = [true, "abc", 123]; console.log(arr[1]); // abc console.log(arr.length); // 3
註意:函數和數組都是對象。例如,他們可以有屬性:
function foo() {} foo.bar = 123;
instanceof是一個二元操作符(運算符),它的作用是判斷其左邊對象是否為其右邊類的實例,返回boolean類型的數據。
數據類型
2.2.2 JavaScript 有三種方法,可以確定一個值到底是什麽類型。
typeof
運算符(註意null返回object)instanceof
運算符Object.prototype.toString
方法
2.2.3var 語句沒有返回值。因為 var a = 1; 是聲明語句,聲明語句不返回任何東西,所以沒有返回值。然後 a = 1; 是賦值語句,返回1。
2.2.4 如果 JavaScript 預期某個位置應該是布爾值,會將該位置上現有的值自動轉為布爾值。轉換規則是除了下面六個值被轉為false
,其他值都視為true
。
undefined
null
false
0
NaN
""
或‘‘
(空字符串)
註意,空數組([]
)和空對象({}
)對應的布爾值,都是true
。
JavaScript 標準參考教程(alpha)筆記