我写了自己的isArray
函数:
Array.isArray = function(value) {
if (value instanceof Array) {
console.log(true);
return true;
} else {
console.log(false);
return false;
}
};
var isArray = Array.isArray;
isArray('String'); // false
isArray(202929); // false
isArray(true); // false
isArray(false); // false
isArray({}); // false
isArray(Array.prototype); // false, but must be true
isArray([]); // true
为什么Array.prototype
不是Array
的实例,因为Array.prototype
会返回[]
?
> Array.prototype
[]
> Array.prototype instanceof Array
false
答案 0 :(得分:0)
这是实施isArray
的正确方法:
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === '[object Array]';
};
了解更多here。