一.var 声明 ES6之前,js 中声明变量基本上用 var 关键字: 1.如果访问未声明的变量,会报错:ReferenceError 2.声明了未赋值,值为 undefined,跟前面的报错是两回事,虽然信息看起来像: 3.对于没有声明的变量可以直接赋值,不过这是一个非常不好的习惯: 而用 var 声明的全局变量,作为全局对象的属性,是不可配置的: 4.重复声明等价于赋值语句: JavaScript从来不会告诉你是否多次声明了同一个变量:遇到这种情况,它只会对后续的声明视而不见(不过,它会执…