Javascript 如果函数已经返回某个内容,如何防止函数中出现默认值 for(变量i=0;i

Javascript 如果函数已经返回某个内容,如何防止函数中出现默认值 for(变量i=0;i,javascript,Javascript,这是我的javascript for(var i=0; i < 2; i++){ someNode.onclick = function(num){ return function(){ alert(num); } }(i) } 这是我的html节点 由于闭包问题,我需要在函数中嵌入一个函数,那么当我单击该链接时,如何防止该链接将我重定向到其他页面?因为它已经返回了一个函数。我无法添加返回false您可以添

这是我的javascript

for(var i=0; i < 2; i++){
     someNode.onclick = function(num){
         return function(){
           alert(num);   
       }
    }(i)
}

这是我的html节点


由于闭包问题,我需要在函数中嵌入一个函数,那么当我单击该链接时,如何防止该链接将我重定向到其他页面?因为它已经返回了一个函数。我无法添加
返回false

您可以添加
返回false

<a href="http://example.com/"></a>

您可以添加
返回false

<a href="http://example.com/"></a>
试着这样做:(灵感来自)

for(var i=0; i < 2; i++){
     someNode.onclick = function(num){
         return function(e){
           e.preventDefault();
           alert(num);   
       }
    }(i);
}
//您现有的代码
对于(var i=1;i请尝试以下方法:(受启发)

for(var i=0; i < 2; i++){
     someNode.onclick = function(num){
         return function(e){
           e.preventDefault();
           alert(num);   
       }
    }(i);
}
//您现有的代码

对于(var i=1;i
href=“javascript:void(0)”
嵌套函数似乎是多余的,您缺少返回函数的函数不是onclick处理程序;返回的函数是。
href=“javascript:void(0)”
嵌套函数似乎是冗余的,您缺少返回函数的函数不是onclick处理程序;返回的函数是。