闭包问题,为什么参数 i 弹出的是object mouseevent ?

为什么function(i)参数 i 弹出的是object mouseevent ?它不是一个i参数吗?

 for (var i = 0; i < 5; i++) {
     abc(i);
     function abc(i){
         sumintputs[i].onclick = function(i){
             alert(i);
         };
     }
 };
已邀请:

huanghank

赞同来自:

` for (var i = 0; i < 5; i++) {

        abc(i);
        function abc(i){
            sumintputs[i].onclick = function(){
            alert(i);
        }
 }

};'

这样才会输出i。

onclick是定义了函数,有系统调用,第一个传入的参数是 event。系统最终调用的是onclick(event),所以你的i不是你定义的变量的i。

` for (var i = 0; i < 5; i++) {

        abc(i);
        function abc(i){
            sumintputs[i].onclick = function(event){
            alert(i);
        }
 }

};'

要回复问题请先登录注册