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”)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐