简短记录

1let声明的变量不存在变量提升,var声明的变量存在变量提升,当使用function定义时,这个函数都会 被提升到当前作用域的顶部
2let变量会形成块级作用域,声明的属性并没有添加到window对象中。
3setTimeout属于宏任务,当计时任务完成后函数内的方法进入到主线程,如果主线程没有执行完例如休眠,宏任务中的代码块也不会执行。
4new Promise中代码块会立即执行,then catch才会触发微任务,process.nextTick代码内属于微任务。
5setTimeout执行环境中会将里面的微任务执行完毕,继续执行下一个setTimeout
6a.fn.call(a) 相当于a.fn()调用a的作用域

你可能感兴趣的:(简短记录)