1、var 和 let 、const
图源自百度:
- 首先,var是传统的声明变量的方式,若声明的位置不在函数体中,则声明的变量为全局变量,否则该变量属于函数作用域。let和const是ES6中引入的新的声明方法,他们都作用于块级作用域中,且在同一作用域中都不允许重复声明。const在初始化时必须赋值,且赋值后无法修改。
- var、let、const声明的变量存在提升,即其内存空间在创建阶段就被设置好了,但与var不同的是,let、const声明的变量不会提前初始化,即在声明前,变量是无法被访问的,这个行为被称为暂时性死区。var会提前初始化,因此如果在声明前访问var声明的变量,会以undefined作为其值。
2、static 声明的静态方法,只能被构造器使用,且不能传递给实例。
3、为对象添加属性
function Person(firstName,