setInterval小问题

cctime 2008-10-27 02:19:59
function MyClass() {
this.test = function() {
setInterval(this.onTest(123), 1000);
}
}

function onPageLoad() {
var obj = new MyClass();
obj.onTest = function(params) {
alert("onTest:" + params);
}
obj.test();
}

为什么调用onPageLoad()之后MyClass.onTest只执行一次,然后就出错了
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgisir 2008-10-27
  • 打赏
  • 举报
回复
楼上正解
xyq1986 2008-10-27
  • 打赏
  • 举报
回复

function MyClass() {
this.test = function() {
var _this = this;
var fun = function() { _this.onTest("123"); };
setInterval(fun, 1000);
}
}

第一次以后的setInterval调用this引用的是window,所以就出错了。
neo_yoho 2008-10-27
  • 打赏
  • 举报
回复
setInterval("this.onTest(123)", 1000);

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧