ゞ苏戏 〃
2016-10-30 18:45
i赋值给arr[i].index为什么会是undefined类型,如果index是数组下标的话,那又赋值i岂不是多此一举
赋值得出undefined类型你是从哪看到的,console?console的话是系统默认的返回值,赋值语句本来就没有返回值,则默认为undefined,这里index并不是数组下标,而是自定义属性,名字可以改,例如:arr[i].aaa=i;
如果还有不清楚可以回复
到底谁说的对?
回复字数限制了。。。
定义index这个属性并且将i值赋值给它,是为了将当前for循环时的i值保存到这个属性上,以便在for循环内部函数使用,例如:
for(var i=0;i<2;i++){
xxx.onclick=function(){}
},
这里for循环内部有个click事件,如果不去保存i值,那么在页面加载时显示会先加载for循环,然后加载时click事件并没有触发,因此加载好for循环后,i值已经为2,这时如果触发click事件,i值就是定值(为2),但如果提前在页面加载循环时将每一个i值保存在每一个arr的index属性上,那么在click事件内部,再去调用当前事件的index属性,就是在页面加载是保存下来对应的i值了
别想的那么复杂 就是 给一个物品贴上带有 1 2 3的标签 方便你以后能准确无误的是用他
用在哪里 一般都用在当前循环里
for(i=0;i<aLi.length;i++)
{
aLi[i].index=i;
这一句表示的是 循环所有aLi 然后给每个aLi 加上序列值 。好了,快给我分
快给我分
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题