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