《深入理解ES6》学习笔记(第二天)
第一章 块级作用域绑定
【前言】
过去,JavaScript的变量声明机制一直令我们感到困惑。大多数类C语言在声明变量的同时也会创建变量(绑定)。
ES6的新语法可以帮助我们更好地控制作用域。
第1节 var 声明及变量提升(Hoisting)机制
变量声明实例:
变量声明实例.png
预编译阶段:
预编译阶段.png
【知识小结】
在ES6预编译阶段,JavaScript引擎会将上面的getValue函数中变量value的声明提升至函数前面,而初始化操作依旧留在原处执行,这就意味着在else子句中也可以访问到该变量,且由于此时变量尚未初始化,所以其值为undefined。
网友评论