新手入门问题 不知道自己理解的对不对,请帮忙指点一下,谢谢。最近在做的一个项目,需要循环push 一个对象,大致如下代码var arr=[1,2,3,4,5,6,7]; var newarr=[]; var getarr= function () { //每次循环都push一次as对象
var as={ ss:""
}; for(i in arr){ as.ss=arr[i];
newarr.push(as);
} console.log(newarr)
}; var btns=document.getElementById('Go');
btns.addEventListener('click',getarr)这种最后结果输出的都是最后一次循环的值,这是调整过后的var arr=[1,2,3,4,5,6,7]; var newarr=[]; var getarr= function () { for(i in arr){ var as={ ss:""
}; as.ss=arr[i];
newarr.push(as);
} console.log(newarr)
}; var btns=document.getElementById('Go');
btns.addEventListener('click',getarr)我的理解是 都是push 对象,但第一种声明在前,也就是说每次赋值,然后push是同一个对象,第二种是 每次循环push的是名字相同的不同对象。不知道这种理解对不对。刚开始我还以为是闭包问题,新手上路 多多指教。
添加回答
举报
0/150
提交
取消