Javascript没有真正的数组。因为当我在谷歌控制台测试这个东西时,我惊讶地发现对象和数组之间没有区别。什么是真正的数组条件
var obj = {};
var arr = [];
typeof obj; //object
typeof arr; //object
我很好奇地想知道
为什么会是这样?
和
难道真的JavaScript的持有假阵?
和
这是
typeof
是错的,我的意思是对象和数组之间的区别不?
和
什么是真正的阵列的条件是什么?
谢谢!
有5种基本类型:空未定义的数字字符串布尔,其他所有都只是对象。如果你想真正的类型做到这一点:'({})。toString.apply([])' –
你是什么意思的“真正的数组”? 'Array'是一种'Object',其属性和行为在[ECMAScript 15.4](http://www.ecma-international.org/ecma-262/5.1/#sec-15.4)中指定。 – apsillers
'[] instanceof Array; // true',但我很确定这不是最好的方法。 –