JavaScript有三种声明方式。
var
:声明一个变量,可赋一个初始化值。let
:声明一个块作用域的局部变量,可赋一个初始化值。const
:声明一个块作用域的只读的命名常量。
JavaScript 用一种称为构建函数的特殊函数来定义对象和它们的特征。构建函数非常有用,因为很多情况下您不知道实际需要多少个对象(实例)。构建函数提供了创建您所需对象(实例)的有效方法,将对象的数据和特征函数按需联结至相应对象。
不像“经典”的面向对象的语言,从构建函数创建的新实例的特征并非全盘复制,而是通过一个叫做原形链的参考链链接过去的。
因为变量声明在任何代码执行之前被处理,所以在变量作用域的任何地方声明一个变量等同于在变量作用域的顶部声明该变量。
因此,一个变量可以在它被声明之前使用,这种行为,就叫 变量提升(hoisting),其表现就是变量声明会被移动到函数或者全局代码的顶部。