同步:
//同步表示代码 顺序执行;
//JS代码自上而下逐条执行
//如果前面的代码没有执行完毕,则后面的代码就处在等待状态
//只有前面的代码执行完毕之后,后面的代码才会被执行
//同步的代码是 会产生 阻塞的
异步:
//异步表示代码 同时执行;
//JS是一种单线程的编码语言
//代码是自上而下逐条执行
//当执行到异步代码的时候,会异步逻辑添加到 任务队列
//继续执行后面的代码
//等任务队列中的异步逻辑产生结果后
//再回到主线程中执行结果
//异步的代码是 不会产生 阻塞的
目前学习的代码中:setInterval() 和 setTimeout() 是异步的
//面试题:
for (var i = 1; i <= 5; i++) {
console.log(i); // 1
// 2
// 3
// 4
// 5 //在这里出去也完成了一轮所以5+1=6
}
console.log(i); // 6
for (var j = 1; j <= 5; j++) {
setTimeout(function () {
console.log(j); // 6
// 6
// 6
// 6
// 6
});
}
console.log(j); // 6