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)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM