我一直在这里摆弄一些代码。出于某种原因,函数被检测为抽象数组,因为它具有长度属性。不是主要问题,因为它是 0,但我发现这很奇怪。
var test_set = [null,
undefined,
NaN,
true,
false,
1,
'a',
{test:'test'},
[0],
function(){},
/test/
];
var index,
key,
test;
function isArrayAbstract (obj) {
return (obj != null) && (obj.length === +obj.length);
};
for(index = 0; index < test_set.length; index++){
test = isArrayAbstract(test_set[index]);
console.log('Mark | ' + test_set[index]);
console.log(test);
}