问答详情
源自:10-1 编程挑战

对10-1参考代码li[i].index = i的疑问

请大佬解释一下

1. 这句代码是什么意思?

http://img4.mukewang.com/5dc8f9ff000112eb03930117.jpg

是给<li>标签创建一个index属性,然后赋值0,1,2吗?类似于实现了下面的效果?

<ul>

        <li index="0">房产</li>

        <li index="1">家居</li>

        <li index="2">二手房</li>

</ul>

2. 写了一个测试样例,为什么第一个循环输出结果为3个undefined,而第二个可以输出0,1,2?

效果:

http://img3.mukewang.com/5dc8d99c0001998806960225.jpg

代码:

<script type="text/javascript">
var arr = ["a", "b", "c"];
for (var i = 0; i < arr.length; i++) {    
    arr[i].index = i;    
    console.log(arr[i].index);
}
for (var j = 0; j < arr.length; j++) {    
    var index = arr[j].index;    
    index = j;    
    console.log(index);
}
</script>


提问者:晓之蛇 2019-11-11 11:49

个回答

  • 慕的地317885
    2019-11-20 14:53:32
    已采纳

    1. 是类似你说的,根据对应值改变div的样式

    2. 你两个循环其实都是undefined,因为你的数组里面没有元素里面有对象的值,就是arr[i].index这个写法是数组里面i下标的index属性,你第二个可以打印出0,1,2是因为你把j赋值给了index所以可以打印出来