0、前言介绍
setTimeout和setInterval都属于JS中的定时器,可以规定延迟时间再执行某个操作,不同的是setTimeout在规定时间后执行完某个操作就停止了,而setInterval则可以一直循环下去。
function fun(){
alert('hello');
}
setTimeout(fun,1000);//参数是函数名
setTimeout('fun()',1000);//参数是字符串
setInterval(fun,1000);
setInterval('fun()',1000);
不再单独再定义一个函数,直接将函数调用放在一个函数里面,可以使用函数名作为调用调用句柄
function fun(name){
alert('hello'+' '+name);
}
setTimeout (function(){
fun('Tom');
},1000);//参数是函数名
1、setTimeout实现的形式一
第一种情况:用this.fun调用方法,不能传参数,参数可以用data
mounted() {
this.Load();
},
methods: {
Load() {
// setTimeout("this.myfun", 1000); //1秒后開始运行 ×
// setTimeout("this.myfun()", 1000); //1秒后開始运行 ×
// setTimeout(this.myfun("参数"), 3000); //1秒后開始运行 直接运行函数 ×
setTimeout(this.myfun, 3000); //1秒后開始运行 √
},
myfun(obj) {
console.log("进来了", obj);
},
}
2、setTimeout实现的形式二
mounted() {
this.Load();
},
methods: {
Load() {
// setTimeout("myfun", 1000); //1秒后開始运行 ×
// setTimeout("myfun()", 1000); //1秒后開始运行 ×
// setTimeout(myfun("参数"), 1000); //1秒后開始运行 直接运行函数 ×
setTimeout(myfun, 1000); //1秒后開始运行 √
function myfun(obj) {
console.log('进来了',obj);
}
},
}
3、setTimeout实现的形式三
也可以使用我的这种直接传function函数和时间参数