javascript - 关于js的for in的一个问题
大家讲道理
大家讲道理 2017-04-11 11:56:46
[JavaScript讨论组]
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x in mycars)
{
document.write(mycars[x] + "
") }

为什么这里X的值默认就成了0,1,2啊

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(6)
PHPz

x 不是属性key么,你这里的mycars对象里的key不就是0,1,2?

ringa_lee

这就是for…in这个语法的作用…………

如果你一定要问为什么x的值成了0、1、2,这你得去问Brendan Eich

大家讲道理

for in 循环的是下标,语法就是这样的

PHP中文网

遍历数组默认下标是 0 1 2 。。。 遍历对象默认是key

高洛峰

for...in 语句

这个 for...in 语句循环一个指定的变量来循环一个对象所有可枚举的属性。JavaScript 会为每一个不同的属性执
行指定的语句。

 数组

虽然用for...in来迭代Array元素很诱人,但是它返回的除了数字索引外还有可能是你自定义的属性名字。因此还是用带有数字索引的传统的for 循环来迭代一个数组比较好,因为如果你想改变数组对象,比如添加属性或者方法,for...in 语句迭代的是 自定义的属性而不是数组的元素。

https://developer.mozilla.org...语句

巴扎黑

我想题主应该使用:for of
https://developer.mozilla.org...

var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x of mycars)
{
    // x 就是 "Saab"、"Volvo"、"BMW"了
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号