关于this的问题 本帖最后由 MADfox1983 于 2010-06-23 16:44:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>function classA(){}classA.prototype.name="123";classA.prototype.did1=function(){setInterval(function(o){return function(){o.did2()}}(this),700);}classA.prototype.did2=function(){alert(this.name)}var obj=new classA();obj.did1();</script> <script>function classA(){}classA.prototype.name="123";classA.prototype.did1=function(){ setInterval((function(obj){return function(){obj.did2()};})(this),3000);}classA.prototype.did2=function(){ alert(this.name)}var obj = new classA();obj.did1();</script> 你传this.did2()是个方法调用,当然可以执行一次,然后此方法返回了undefined,这个undefined值随后成了setInterval的第一个参数,这当然不行。只需要小小的改动即可,把setInterval(this.did2,700);====》》》改为setInterval("obj.did2()",700); 关于javascript监听函数的问题 "计算指定数据的总和"的问题 用js实现对多个div的z-index的调整 一个html中一个<script>与多个<script>标记有什么区别? 关于日期计算问题。 大伙帮我看看这个正则怎么找不出来 金碟erp测试题!!请高手帮助解答! 请问如何屏蔽掉页面中所有的链接 在线等待... 急 怎么用javascript实现 gif或者swf动画按照指定的时间和坐标运动 表单自动填写如何设置事件? 【求救很急】IFRAME内容改变时如何获取IFRAME里面的内容 页面加载onload事件后,能不能修改?
function classA(){
}
classA.prototype.name="123";
classA.prototype.did1=function(){setInterval(function(o){return function(){o.did2()}}(this),700);
}classA.prototype.did2=function(){
alert(this.name)
}var obj=new classA();
obj.did1();
</script>
<script>
function classA(){}
classA.prototype.name="123";
classA.prototype.did1=function(){
setInterval((function(obj){return function(){obj.did2()};})(this),3000);
}
classA.prototype.did2=function(){
alert(this.name)
}var obj = new classA();
obj.did1();</script>
只需要小小的改动即可,
把setInterval(this.did2,700);====》》》改为
setInterval("obj.did2()",700);