<script>
// es6规范,如何定义变量。(定义常量使用const == final,声明变量时必须初始化值且之后不能更改!)
// 两种方式:var(函数作用域)和let(块作用域)
/**
* 区别一:
* var声明的变量,是全局变量。
* let声明的变量,是局部变量。
*/
{
var a = 1;
let b = 1;
}
console.log(a); // 1
//console.log(b); // 报错:Uncaught ReferenceError: b is not defined
/**
* 区别二:
* 使用var声明的变量,该变量可以在声明之前使用,值为undefined。
* 使用let声明的变量,该变量不可以在声明之前使用。
*/
if (true) {
console.log(x); // 1
console.log(y); // 报错:Uncaught ReferenceError: Cannot access 'y' before initialization
var x = 1;
let y = 1;
console.log(x); // 不输出
console.log(y); // 不输出
}
/**
* 区别三:
* 使用var声明的变量,可以重复声明。
* 使用let声明的变量,只可以声明一次。
*/
if(true){
var m = 1;
let n = 1;
var m = 100;
//let n = 1; // 编译报错:Cannot redeclare block-scoped variable 'n'.
}
</script>
【记录】ES6规范-声明变量之var、let、const区别
于 2022-09-14 18:03:50 首次发布