首頁歷史 > 正文

前端面試基礎問題(一)

2022-01-31由 三流程式設計師 發表于 歷史

1、typeof只能區分值型別,對引用型別無能為力,只能區分函式function

NaN表示特殊的非數字值,null是空指標,並沒有指向任何一個地址

typeof能區分的五種基本型別:string、boolean、number、undefined、symbol和函式function;

2、變數計算

100 == ‘100’ //true

0 == “” //true

null == undefined //true

3、判斷資料型別

instanceof

instanceof:用於判斷引用型別屬於哪個建構函式的方法

f instanceof Foo的判斷邏輯是:

f的__proto__一層一層往上,能否對應到Foo。prototype

再試著判斷f instance Object

如何準確判斷一個變數是否是陣列型別

var arr = [] arr instanceOf Array //true typeof arr //object,typeof是無法判斷是否是陣列的

通用判斷方法:Object。prototype。toString。call(arr) === “[object Array]”;

4、原型規則

原型規則

所有的引用型別(陣列、函式、物件)都具有物件特性,即可自由擴充套件屬性】

所有的引用型別(陣列、物件、函式)有一個__proto__ 屬性,屬性值是一個普通的物件

所有的函式都有一個prototype屬性,屬性值也是一個普通的物件

所有的引用型別(陣列、物件、函式),__proto__屬性指向它的建構函式的prototype屬性

當試圖得到一個物件的某個屬性時,如果這個物件本身沒有這個屬性,那麼回去他的__proto__(即它的建構函式的prototype中尋找);

5、變數提升

前端面試基礎問題(一)

頂部