javascript - js 类中作为参数传递的函数 setTimeout 立即执行,并调用 setTimeout 中的类方法

标签 javascript

Js 类方法 getInfo 应在 5 秒延迟后调用警报,但它立即触发

function limiter (limit,hid,sid) {
    this.limit = limit;
    this.hid = hid;
    this.sid = sid;


    this.getInfo = function(aca) {

       setTimeout(alert(aca), 5000);
    };
}


var limiter= new limiter(5,5,5);

limiter.getInfo("loko roko");

最佳答案

alert 事件放置在函数内。

function limiter(limit, hid, sid) {
  this.limit = limit;
  this.hid = hid;
  this.sid = sid;
  console.log(this.limit);

  this.getInfo = function(aca) {
    setTimeout(() => {
      console.log(this.limit);
      alert(aca)
    }, 5000);
  };
}

var limiter = new limiter(5, 5, 5);

limiter.getInfo("loko roko");

关于javascript - js 类中作为参数传递的函数 setTimeout 立即执行,并调用 setTimeout 中的类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42428912/

相关文章:

javascript - RadAjaxManager AjaxRequest 类型错误 : Cannot read property 'id' of undefined

Javascript:拒绝成功的 promise

javascript - jQuery backstretch 图像自动移动和返回

javascript - IndexedDB 存储 250kB/s 流数据的性能问题

javascript - 在 YUI 中,clientHeight、winHeight 和 docHeight 有什么区别?

javascript - 控制台对象的函数被覆盖后如何使用 console.log()?

javascript - 很棒的字体和 JavaScript 点击搜索功能

javascript - 不支持 Javascript/SVG 的 SVG 注入(inject)回退

javascript - 框对齐和鼠标位置

javascript - 混合编译后无法从模块导入