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)