当前位置:  开发笔记 > 编程语言 > 正文

使用javascript oops,setInterval无法正常工作

如何解决《使用javascriptoops,setInterval无法正常工作》经验,为你挑选了1个好方法。

Js Fiddle:点击这里

我在类的方法中有setInterval().它在创建单个实例时正常工作,但在创建多个实例时失败.创建多个实例时,只有最后创建的实例有效,其他实例停止.

我的脚本如下:

function timer() {
    this.ran = Math.floor(Math.random() * 100) + 1;
    this.cls = this.ran + '_ocar';
    this.div = '
' + this.cls + '
'; $('body').append(this.div); this.run = function() { thi = this; thi.k = 0; setInterval(function() { console.log(thi.cls); $('.' + thi.cls).html(thi.k++); }, 1000); } } one = new timer(); one.run(); setInterval(function() { new timer().run(); }, 5000);

Dave Salomon.. 7

thi = this;正在全局命名空间中创建,因此每次初始化时都会被覆盖new timer().

将其更改为var thi = this;.

https: // jsfiddle.net/ daveSalomon/ h5e8LLg3/ `

我不喜欢thi作为var名称 - 它看起来像一个错字.我通常使用_this_scope.



1> Dave Salomon..:

thi = this;正在全局命名空间中创建,因此每次初始化时都会被覆盖new timer().

将其更改为var thi = this;.

https: // jsfiddle.net/ daveSalomon/ h5e8LLg3/ `

我不喜欢thi作为var名称 - 它看起来像一个错字.我通常使用_this_scope.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有