JavaScript中const、var和let區別淺析
阿新 • • 發佈:2019-01-05
在JavaScript中有三種宣告變數的方式:var、let、const。下文給大家介紹js中三種定義變數的方式const, var, let的區別。
1.const定義的變數不可以修改,而且必須初始化。
?1 2 3 4 5 |
const
b = 2; //正確
//
const b;//錯誤,必須初始化
console.log( '函式外const定義b:'
+ b); //有輸出值
//
b = 5;
//
console.log('函式外修改const定義b:' + b);//無法輸出
|
2.var定義的變數可以修改,如果不初始化會輸出undefined,不會報錯。
1 2 3 4 5 6 7 8 9 |
var
a = 1;
//
var a;//不會報錯
console.log( '函式外var定義a:'
+ a); //可以輸出a=1
function
change(){
a
= 4;
console.log( '函式內var定義a:'
+ a); //可以輸出a=4
}
change();
console.log( '函式呼叫後var定義a為函式內部修改值:'
+ a); //可以輸出a=4
|
3.let是塊級作用域,函式內部使用let定義後,對函式外部無影響。
?1 2 3 4 5 6 7 8 |
let
c = 3;
console.log( '函式外let定義c:'
+ c); //輸出c=3
function
change(){
let
c = 6;
console.log( '函式內let定義c:'
+ c); //輸出c=6
}
change();
console.log( '函式呼叫後let定義c不受函式內部定義影響:'
+ c); //輸出c=3
|