1. Js的Typeof返回類型有那些?數組
string;undefined;number; function;object;boolean;symbol(ES6)安全
2. null和undefined的區別?閉包
null是Js的關鍵字,表示空值。可做爲object的一個特殊值,若是object值爲null,表示該對象不是一個有效對象。函數
undefined不是Js的關鍵字,是一個全局變量,是Global的一個屬性。
code
相同點:對象
都是原始類型的值,保存在棧中變量本地內存
3. 閉包的特性,閉包解決了什麼問題?string
閉包是一個擁有許多變量和綁定了這些變量的環境的表達式(一般是一個函數),於是這些變量也是該表達式的一部分。io
特性function
一、函數嵌套函數。
二、函數內部能夠引用外部的參數和變量。
三、參數和變量不會被垃圾回收機制回收。
用途
一、閉包能夠讀取函數內部變量
二、將函數內部變量的值始終保存在內存中
優點
一、保護函數內的變量安全。
二、在內存中維持一個變量。
三、經過保護變量的安全實現JS私有屬性和私有方法(不能被外部訪問)。
四、避免全局變量的污染。
4. 數組方法pop() push() unshift() shift()
push()尾部添加 pop()尾部刪除
unshift()頭部添加 shift()頭部刪除
5. 」==」和「===」的不一樣
答案:前者會自動轉換類型,再判斷是否相等後者不會自動類型轉換,直接去比較