这个
Javascript逻辑让我困惑.我正在创建一个数组并将其第一个元素设置为数字.当我使用“for”循环进行交互时,Javascript将数组键转换为字符串.为什么?我希望它留下一个数字.
stuff = [];
stuff[0] = 3;
for(var x in stuff) {
alert(typeof x);
}
解决方法
这是因为你使用for …循环遍历数组,其中通常用于循环对象的属性. javascript引擎可能会转换为字符串,因为字符串类型适合于对象属性的名称.
尝试这种更传统的方法:
stuff = [];
stuff[0] = 3;
for(var i=0; i<stuff.length; i++) {
var x = stuff[i];
alert(typeof x);
}