1,setTimeout(间隔延迟时间运行 以后不会运行)
1)全局作用域(window)下的内置函数
2)返回值:
setTimeout(function,dely),定时器的编号
3)运行机制--异步
console.log("strat....");
setTimeout("console.log("1")",1000);
console.log("end....");
//输出:
start....
end....
1
第一个参数是字符串、函数名、匿名函数
总结运行机制:
例子一:
setTimeout("console.log("1")",0);
一大段代码需要运行1000ms
原理:1000ms后一大段代码运行完成,立马输出1
例子二:
setTimeout("console.log("1")",1000);
一大段代码需要运行1000ms
原理:1000ms后一大段代码运行完成,立马输出1
例子三:
setTimeout("console.log("1")",1000);
一大段代码需要运行2000ms
原理:2000ms后一大段代码运行完成,立马输出1
执行到setTimeout,把执行函数放到队列里面,后面的所有代码放到队列里面,执行后面的所有代码,当后面的所有代码都执行完成后如果时间已经到了,立马输出setTimeout的函数的结果。
注意:延迟时间只是一个近似的时间,如:
延迟0ms :10ms后执行
延迟9ms :10ms后执行
延迟11ms:20ms后执行
4)函数使用的特点
正确写法:
setTimeout(fn,1000);//直接是函数的名称没有括号,1000毫秒后执行
setTimeout(fn(),1000);//fn()是函数执行,这里读到fn()时,会立即执行函数