缺點(diǎn):對null和Array等類型的檢測不是很方便
Js代碼
typeof null; //"object"
typeof []; //"object"
2.instanceof
缺點(diǎn):1.只適用于對象類型
2.只要當(dāng)前的這個(gè)類在實(shí)例的原型鏈上,檢測出來的結(jié)果都是true
Js代碼
123 instanceof Number; //false
null instanceof null; //TypeError
null instanceof Object; //false
function A(){}
function B(){}
A.prototype=new B();
var aObj=new A();
aObj instanceof B;//true
aObj instanceof A;//true
3.constructor
注意:在類繼承時(shí)會(huì)出錯(cuò)
Js代碼
function A(){};
function B(){};
A.prototype = new B();
var aObj = new A();
aObj.constructor === B; //true;
aObj.constructor === A; //false;
4.自定義方法實(shí)現(xiàn)(比較通用)
Js代碼
function getType(o){
return Object.prototype.toString.call(o).slice(8,-1);
}
測試:
Js代碼
getType(null); //"Null"
getType(undefined); //"Undefined"
getType([]); //"Array"
getType({}); //"Object"
getType(()=>{}); //"Function"
getType(document.createElement('div')); //"HTMLDivElement"
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com