《深入理解ES6》学习笔记(第二天)

《深入理解ES6》学习笔记(第二天)

第一章 块级作用域绑定
【前言】
过去,JavaScript的变量声明机制一直令我们感到困惑。大多数类C语言在声明变量的同时也会创建变量(绑定)。
ES6的新语法可以帮助我们更好地控制作用域。

第1节 var 声明及变量提升(Hoisting)机制

变量声明实例:


《深入理解ES6》学习笔记(第二天)_第1张图片
变量声明实例.png

预编译阶段:


《深入理解ES6》学习笔记(第二天)_第2张图片
预编译阶段.png

【知识小结】
在ES6预编译阶段,JavaScript引擎会将上面的getValue函数中变量value的声明提升至函数前面,而初始化操作依旧留在原处执行,这就意味着在else子句中也可以访问到该变量,且由于此时变量尚未初始化,所以其值为undefined。

你可能感兴趣的:(《深入理解ES6》学习笔记(第二天))