判斷乙個物件是不是陣列的方法
(1) typeof 無法判斷 只能判斷原始型別的值和函式
(2)isprototypeof 判斷父及物件 可檢查整個原型鏈 //可能繼承自陣列
console.log(array.prototype.isprototypeof()?"是陣列":"不是陣列");
console.log(array.prototype.isprototypeof({})?"是陣列":"不是陣列");
console.log(array.prototype.isprototypeof(function(){})?"是陣列":"不是陣列");
(3)constructor 檢查指定物件的建構函式 可檢查整個原型鏈 //可能繼承自陣列
var father={};
var son={};
father.__proto__=array.prototype;
son.__proto__=father;
console.log(son.contructor==array?"是陣列":"不是陣列")
console.log({}.contructor==array?"是陣列":"不是陣列");
console.log(function(){}.contructor==array?"是陣列":"不是陣列");
(4)instanceof 檢查乙個物件是否是制定建構函式的例項 可檢查整個原型鏈 //可能繼承自陣列
var father={};
var son={};
father.__proto__=array.prototype;
son.__proto__=father;
console.log(son instanceof array?"是陣列":"不是陣列");
console.log({} instanceof array?"是陣列":"不是陣列");
console.log(function(){} instanceof array?"是陣列":"不是陣列");
(5)強行用要檢查的物件,呼叫原始的tostring方法 不檢查整個原型鏈 //[object class]: class-array date object //只能檢查最初就是陣列建立的物件。
console.log(object.prototype.tostring.call()=="[object array]"?"是陣列":"不是陣列");
console.log(object.prototype.tostring.call({}));
console.log(object.prototype.tostring.call(function(){}));
console.log(object.prototype.tostring.call(/\d/));
var father={}; var son={};
father.__proto__=array.prototype;
son.__proto__=father;
console.log(object.prototype.tostring.call(son)=="[object array]"?"是陣列":"不是陣列");//不是 //結論: 物件一旦建立,class屬性就無法修改 //修改繼承關係,也無法修改class屬性
(6) array.isarray(obj) 不檢查整個原型鏈
console.log(array.isarray());
console.log(array.isarray({}));
//如果瀏覽器不支援isarray
if(array.prototype.isarray===undefined)
}
判斷乙個物件是不是陣列的方法
判斷乙個物件是不是陣列 幾種辦法 typeof無法區分物件和陣列 typeof object typeof object 1.var obj var obj var obj function obj instanceof 建構函式名 型別名 array,function,2.array.protot...
判斷乙個物件是不是陣列型別,最全方法
判斷乙個物件是不是陣列型別,可以分為判斷原型物件,判斷建構函式和判斷內部class屬性三大類,下面 是所有方法。判斷乙個物件是不是陣列型別 var a 10,b hello c true d null e undefined varf function var obj1 obj2 0 1,2 obj...
如何判斷乙個物件是不是數值
要判斷乙個物件是不是陣列的方式有多種,這裡我們乙個乙個來分析 在使用array.isarray方法之前,我們先來普及一下它的作用以及如何使用 作用 它是用於判斷某個物件是否是陣列 使用 語法格式 array.isarray 物件 下面我們就用乙個小例項來看看它怎麼判斷乙個物件是不是陣列 functi...