一个棘手的问题,动态函数定义时传值问题
<script language="JavaScript"> </script>




  上面代码运行结果是:null,原因是在循环中函数定义时没有运行'div'+i一句,所以最后调用a()时使用的是'div'+4,导致找不到div4.

  如何解决类似定义函数时,往函数内部传递变量是实时的?如此例,最后应该是找到div3?



1个回答

[code="js"]
function A(i){
this._i = i;
}
A.prototype.alert_i = function() {
alert(document.getElementById("div"+this._i));
}
window.onload=function(){
for(var i=0; i<4; i++){
a = new A(i);
}
a.alert_i();
}
[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问