typeof 和 instanceof 都能判斷資料型別,但是它們之間有什么區別呢,淺談如下
typeof
用于判斷資料型別,回傳值為以下6種型別
1.string
2.boolean
3.number
4.function
5..object (注意:typeof 在判斷 null、array、object以及函式實體(new + 函式)時,都是回傳 object)
6.undefined
instanceof
官方解釋:用于檢測建構式的 prototype 屬性是否出現在某個實體物件的原型鏈上,
通俗地講:用來檢測某個物件是誰的實體
所以我們就知道instanceof 是物件運算子,這里的實體就牽扯到了物件的繼承,它的判斷就是根據原型鏈進行搜尋,如果物件 obj1 的原型鏈上存在另一個物件obj2的原型屬性,
那么,運算式(obj1 instanceof obj2)回傳值為 true,否則回傳 false,
所以 instanceof 的回傳值 為 true 或者 false
總結(區別) :
1. typeof 能判斷的型別有: number,boolean,string,undefined,object,function,
但是不能判斷 null,array,object和函式實體(new + 函式),都是回傳object
2.instanceof 能夠對不同的物件實體進行判斷,如null,array等,回傳值為布林值,
所以 instanceof 對物件(null、array、object)判斷更加細致清晰!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/289456.html
標籤:JavaScript
上一篇:WEB開發-HTML入門學習總結
下一篇:發布訂閱模式
