1.函数声明和变量声明的提升;函数声明会被提升到普通变量之前。变量的声明被看作两部分,第一个是编译阶段的任务,第二个是执行阶段的任务。
2.作用域分为两部分:1.函数作用域,2块级作用域。
3.模块模式的必备条件?
1).必须有外部的封闭函数,该函数必须至少被调用一次(每次调用都会创建一个新的模块实例)
2).封闭函数必须返回至少一个内部函数,这样内部函数才能在私有作用域中形成闭包,并且可以访问或者修改私有的状态。
4.javascript并不具有动态作用域,它只有词法作用域。
主要区别:词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的。
5.在javascript中创建一个空对象最简单的方法都是Object.create(null)。
6.箭头函数最常用用于回调函数中,例如事件处理器或者定时器。