js中var、let、const的區別 主要內容是:js中三種定義變數的方式const, var, let的區別。 var定義的變數可以修改,如果不初始化會輸出undefined,不會報錯。 var分為兩種:局部作用域和函數作用域 let是塊級作用域,函數內部使用let定義後,對函數外部無影響。 l ...
js中var、let、const的區別
主要內容是:js中三種定義變數的方式const, var, let的區別。
var定義的變數可以修改,如果不初始化會輸出undefined,不會報錯。
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
var分為兩種:局部作用域和函數作用域
let是塊級作用域,函數內部使用let定義後,對函數外部無影響。
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
let是塊級作用域,跟var不同的是,let沒有前置功能,不能重覆聲明
const定義的變數不可以修改,而且必須初始化。
const b = 2;//正確
// const b;//錯誤,必須初始化
console.log('函數外const定義b:' + b);//有輸出值
// b = 5;
// console.log('函數外修改const定義b:' + b);//無法輸出