-----判斷乙個型別是不是陣列一共有8種方法,如下:
var obj1={},obj2=[1,2,3],obj3=new date();
1.通過此物件的爹判斷是不是陣列的原型物件
console.log(//通過此物件的爹判斷是不是陣列的原型物件
obj1.proto==array.prototype,
obj2.proto==array.prototype,//true 為陣列
obj3.proto==array.prototype
)2.判斷obj的原型物件是不是陣列的原型物件
console.log(// ,obj的原型物件是不是陣列的原型物件
object.getprototypeof(obj1)==array.prototype,
object.getprototypeof(obj2)==array.prototype,
object.getprototypeof(obj3)==array.prototype
)//3.乙個更直接函式 father.isprototypeof(child)
console.log(//陣列的原型物件是obj的原型物件嗎?
array.prototype.isprototypeof(obj1),
array.prototype.isprototypeof(obj2),
array.prototype.isprototypeof(obj3),
)//4。通過尋找是不是繼承array直接判斷
//父級元素中的canstructor
console.log(//判斷由子元素找回父親再找回母親是不是array
obj1.constructorarray,// obj1.proto.constructorarray,
obj2.constructorarray,
obj3.constructorarray
)//5.用 」child instanceof 媽媽「
// 實列
console.log( //孩子(obj) 是媽媽(array)的孩子嗎?(//判斷 obj 是不是array new出來的)
obj1 instanceof array,
obj2 instanceof array,
obj3 instanceof array,
)//6.輸出物件的dna:內部隱藏屬性class
console.log(
object.prototype.tostring.call(obj1),//將obj強行打入頂級父元素去呼叫頂級父元素的tostring()函式
object.prototype.tostring.call(obj2),
object.prototype.tostring.call(obj3)
)//7 es5!!!
console.log(
array.isarray(obj1),
array.isarray(obj2),
array.isarray(obj3),
)//8
console.log(
obj1.constructor.tostring(),
obj2.constructor.tostring(),
obj3.constructor.tostring(),
)如下:
// console.log(
// obj2.proto==array.prototype,
// object.getprototypeof(obj2)array.prototype,
// array.prototype.isprototypeof(obj2),
// obj2.constructorarray,
// obj2 instanceof array,
// object.prototype.tostring.call(obj2),
// array.isarray(obj2),
// obj2.constructor.tostring()
// )
結果:true
true
true
true
true
「[objectarray]」
true
「functionarray() 」
判斷乙個物件是否是陣列
用typeof方法返回的陣列型別是object,無法確定是否是陣列,但可以通過下面方法判斷。var is array function value 說明 首先判斷這個值是否有值,並且不是undifined或null的值 其次判斷這個值的typeof運算的結果是否是object 第三判斷這個值的len...
判斷乙個物件是否是陣列?
一 判斷乙個物件是否是陣列?var obj1 obj2 1 2 obj3 newdate 1.判斷當前物件的原型物件是否是陣列的原型物件 1.使用 proto 獲得物件的原型物件 obj1.proto array.prototype false obj2.proto array.prototype ...
判斷乙個物件是否為陣列
方法一 使用instanceof操作符。instanceof操作符用來判斷要檢測物件的原型鏈上是否存在某個建構函式的prototype屬性。var a var b console.log a instanceof object true console.log b instanceof object...