setTimeout 用法
总的来说用法就一种:setTimeout(要执行的代码,间隔时间,参数1,参数2);但是要执行的代码有几种写法,分别如下:如果执行的代码不需要参数,有3种写法如下:1,直接将js代码写在字符串中:setTimeout("alert(123)",500);2,在字符串中调用函数:setTimeout("callFun()",500);function callFun(){alert(456);}3,
·
总的来说用法就一种:
setTimeout(要执行的代码,间隔时间,参数1,参数2);
但是要执行的代码有几种写法,分别如下:
如果执行的代码不需要参数,有3种写法如下:
1,直接将js代码写在字符串中:
setTimeout("alert(123)",500);
2,在字符串中调用函数:
setTimeout("callFun()",500);
function callFun(){
alert(456);
}
3,使用匿名函数:
setTimeout(()=>{
alert(456)
},500);
或者
setTimeout(function(){
alert(456)
},500);
如果调用函数时需要传递参数:
1,匿名函数可以这样传递(千万不要在匿名函数的括号里面加参数,否则不执行):
var obj = {name:"xxx"}
setTimeout(()=>{
alert(obj.name)
},500,obj);
或者
setTimeout(function(){
alert(obj.name)
},500,obj);
2,非匿名函数,需要借用匿名函数做中转调用,比如在vue中调用方法时都需要加this开头的,就只能这样
假设这是vue的methods, aaa 内部用setTimeout调用 bbb ,并给bbb传递参数
methods:{
aaa(){
let that = this;
var obj = {name:"xxx"}
setTimeout(()=>{
obj.name = "yyyyyyy";
that.bbb(obj)
},500,obj);
},
bbb(obj){
alert(obj.name);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)