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佔,聲明後不能再修改,如果聲明的是複合類型數據,可以修改其屬性==