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