同样是function(i),为什么一个弹出的是object mouseevent ,另一个弹出 的是0,1,2,3,4?

同样是function(i),为什么一个弹出的是object mouseevent ,另一个弹出 的是0,1,2,3,4?

 for (var i = 0; i < 5; i++) {
    abc(i);
       function abc(i){
             sumintputs[i].onclick = **function(i)**{
             alert(i);
                }
           }
       };
for (var i = 0; i < 5; i++) {
        tabTits[i].onclick = **function(i)**{
        alert(i);
       }(i);
};
阅读 3.9k
3 个回答

又看到你了。

你的第二个 for 的写法,onclick等于:

var i = 1;
tabTits[i].onclick = function(i){alert(i);}(i);

// i = 1;
//(function(i){alert(i);})(i);
//>alert(1);

//因为你的 function 没有返回值
//>tabTits[i].onclick = 'undefined'

第二个是立即执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题