所有內容摘自 ?廖雪峰的js教程,本文只是針對個人薄弱地方進行的總結。
1,NaN 表示Not a Number ,當無法計算結果時用NaN表示
Infinity 表示無限大
2,由于JavaScript這個設計缺陷,不要使用==比較,始終堅持使用===比較。
另一個例外是NaN這個特殊的Number與所有其他值都不相等,包括它自己:
NaN === NaN; ?是false。唯一判斷NaN的方法是 ?isNaN() 函數
3,null 表示一個“空”值,undefined表示值未定義,一般情況下用null
4,'use strict'; ?如果對變量未用var聲明,程序就會運行報錯
5,Map:鍵值對
Set:沒有重復的Array
6,for...of 是對 for...in 的修復,for...in 實際上遍歷的是對象的屬性名稱,會有誤差,而for...of不會,只循環集合本身的元素
7,arguments 是javaScript免費贈送的字段,它只在函數內部起作用,并且永遠指向當前函數的調用者傳入的所有參數。類似一個Array但其實不是一個Array。實際上arguments最常用于判斷傳入參數的個數:
argunments.length?
8,rest 是獲取到定義外的額外參數。rest參數只能寫在最后,前面用...標識,從運行結果可知,傳入的參數先綁定a、b,多余的參數以數組形式交給變量rest,所以,不再需要arguments我們就獲取了全部參數。
functionfoo(a, b, ...rest)
9,JavaScript引擎有一個在行末自動添加分號的機制,所以return 后面如果有返回的參數一定要在當前行‘ {’ ? ? 如果在return的后面換行再加‘{’ ?,可能會造成直接return;的情況