setTimeOut的使用以及this指向问题

setTimeout使用

  //以下两种方式都行:  

  setTimeout(function () { test(); }, 2000);  

  //或者  setTimeout('test()',2000);  

  function test(){ 

    alert("aaaa");  } 

   //以下是错误示例  

   setTimeout(test(),2000); //会马上执行,没有延迟效果  

 

setTimeout遇到this指向问题

setTimeout中函数内的this是指向了window对象,setInterval同理

如果想要让setTimeout中的this不指向window,可以使用以下常用办法:

方法一:var that = this;

  var that = this;

  setTimeout(function() {

   that.$emit("getResponseData", paramObj); });

方法二: 使用箭头韩式

setTimeout(() => { console.log(this.a); }, 1000)

posted @ 2020-12-15 14:39  大大大大jummy雄  阅读(883)  评论(0编辑  收藏  举报