[Javascript] 请问这两段代码有什么不一样吗?

2014-10-12 11:19:58 +08:00
 click

本人正在学JS,做一个标签切换效果,有个问题很久没搞不懂。

mDD.length=2 请问这两段代码又什么不一样吗,测试效果不一样。

代码1:

for (var i=0;i<mDD.length;i++){
        mDD[i].addEventListener('mouseover',function(){onMou(i)});
}

代码2:

mDD[0].addEventListener('mouseover',function(){onMou(0)});
mDD[1].addEventListener('mouseover',function(){onMou(1)});

代码1实现不了效果,换成代码2成功。

4149 次点击
所在节点    JavaScript
22 条回复
cdxem713
2014-10-20 13:24:52 +08:00
@Jaylee 昨天被面试官考了这个问题,他给的标准答案就这个
click
2014-11-09 18:50:48 +08:00
@Jaylee 谢谢!成功了,但还是无法理解

(function(i){
mDD[i].onmouseover=function(){onMou(i)};
})(i);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/138426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX