JS是单线程执行的
例子:就拿定时器setTimeout举例
setTimeout(() => {
console.log("time2000")
}, 20000);
setTimeout(() => {
console.log("time1000")
}, 10000);
function fun(){
console.log("fn函数")
};
fun();
alert("我踏马直接裂开") //alert可以阻断主线程的运行,在点击确定以后运行接下来的内容此时会输出的结果
fun()
跳出弹窗("我踏马直接裂开")
//在点击跳出的弹窗后,再开始的计时
//10秒后
time1000
//20秒后
time2000
//注释:Js中,定时器函数是同时执行的,20秒的函数得到结果与10秒的函数得到结果的间隔相差只为10秒,总时间是20秒,而不是想象中的轮流导致一个10秒结束后再读个20秒的条总时间30秒的.以上便是JS是单线程的实例,同时也可以看出Settimeout这个定时器实际上有时候也是并不会准确的,会在不同情况下有可能会产生较大差异的影响.
Js引擎执行代码的顺序:
---先执行初始化代码,包含一些特殊的代码
*设置定时器
*绑定监听
*发送ajax请求
*后面的某个时刻执行回调代码

京公网安备 11010502036488号