1.JS是单线程的
所以JS中的代码都是串行的, 前面没有执行完毕后面不能执行
2.同步代码和异步代码
除了"事件绑定的函数"和"回调函数"以外的都是同步代码
1,程序运行会从上至下依次执行所有的同步代码
2,在执行的过程中如果遇到异步代码会将异步代码放到事件循环中
3,当所有同步代码都执行完毕后, JS会不断检测 事件循环中的异步代码是否满足条件
4,一旦满足条件就执行满足条件的异步代码
3.为什么JS是单线程的?
avaScript的单线程,与它的用途有关。
作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。
这决定了它只能是单线程,否则会带来很复杂的同步问题。
console.log("1"); // 同步代码
setTimeout(function () { // 异步代码
console.log("2");
}, 500);
console.log("3"); // 同步代码
alert("666"); // 同步代码
打印// 1 / 3 / 2