var obj = {
length: 0,
splice: function() {}
};
//console.log(obj) => []而不是{}
//jQuery里面就用这个模拟数组行为的
//类似这样:
var arr = [],
splice = arr.splice,
push = arr.push,
obj = {
length: 0,
splice: splice,
push: push
};
//obj.push(1) => [1]
这个是什么原理?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
题主应该是在Chrome里测试的吧。

在FireFox测试的是这样的。
所以,这个不是什么原理。只是浏览器不同的表现而已。
进一步讲,通过下面的函数,也能判断出是否为ArrayLike。
第一个还是对象不是Array console.log(obj instanceof Array) ==false