JS定时器setTimeout()
1、setTimeout调用的方式有两种://传函数setTimeout(function () {alert("hhhhh");}, 1000);//传递字符串setTimeout("alert('hhhhh')", 1000);两种写法的效果都是:定时1000ms后弹出hhhhh2、取消调用:setTimeout()会返回一个数值id,这个id为被定时代码段的唯一标识符,可以用它来取消尚未执行
·
1、setTimeout调用的方式有两种:
//传函数
setTimeout(function () {
alert("hhhhh");
}, 1000);
//传递字符串
setTimeout("alert('hhhhh')", 1000);
两种写法的效果都是:定时1000ms后弹出hhhhh
2、取消调用:
setTimeout()会返回一个数值id,这个id为被定时代码段的唯一标识符,可以用它来取消尚未执行的调用。通过clearTimeout(具体id标识符)方法实现::
var idd = null;
idd = setTimeout(function () {
alert("hhhhh")
}, 1000);
clearTimeout(id);
3、执行顺序问题:
JS是一个单线程序的解释器,一段时间内只能执行一段代码,所以各段代码存在执行顺序问题:
f();
function f () {
console.log(1);
setTimeout(function () {console.log(2)}, 1000);
setTimeout(function () {console.log(3)},0)
setTimeout(function () {console.log(4)}, 0);
console.log(5);
};
输出如下:(设置延迟时间为0的也算有延迟时间,直到没有设置延迟的全部代码全部执行完,才开始执行有延迟的。所以“3”在“5”后面,“3”和“4”的延迟时间一样,所以按顺序先“3”后“4”)
更多推荐
已为社区贡献4条内容
所有评论(0)