cosnt,var,let有什么区别?
- const定义的变量不可以修改,而且必须初始化。
// 定义变量时const定义的变量不可以修改,而且必须初始化。
var a;
let b;
// const c; //错误const必须赋值,而且要初始化
const c = 3; //正确
a = 1;
b = 2;
console.log(a);
console.log(b);
console.log(c);
2.const用来定义常量(字符串,数组,函数,对象…),并且初始值不可为空,var的值在内部可以修改,let是块级作用域
function test() {
var n = 1;
let m = 1;
const x = 1;
if (true) {
var n = 2;
let m = 9;
const x = 7;
console.log(m); // let是块级作用域 函数内部使用let定义后,对函数外部无影响。
}
console.log('n:' + n); //输出2,值被函数内部修改
console.log('m:' + m); //输出1,值不变
console.log('x:' + x); //输出1,值不变
}
test();
总结:
1.let和const声明形成块作用域
2.同一作用域下let和const不能声明同名变量,而var可以
3. cosnt:一旦声明必须赋值,不能使用null占,声明后不能再修改,如果声明的是复合类型数据,可以修改其属性==