1、const定義的變量不可以修改仑氛,而且必須初始化
eg: const b = 2;//正確
//const b;//錯(cuò)誤乙埃,必須初始化
console.log('函數(shù)外const定義b:' + b);//有輸出值
// b = 5;
// console.log('函數(shù)外修改const定義b:' + b);//無法輸出
2、var定義的變量可以修改锯岖,如果不初始化會(huì)輸出undefined介袜,不會(huì)報(bào)錯(cuò)。
eg: var a = 1;
// var a;//不會(huì)報(bào)錯(cuò)
console.log('函數(shù)外var定義a:' + a);//可以輸出a=1
function change(){
a = 4;
console.log('函數(shù)內(nèi)var定義a:' + a);//可以輸出a=4
}
change();
console.log('函數(shù)調(diào)用后var定義a為函數(shù)內(nèi)部修改值:' + a);//可以輸出a=4
3出吹、let是塊級(jí)作用域遇伞,函數(shù)內(nèi)部使用let定義后,對(duì)函數(shù)外部無影響捶牢。
eg: let c = 3;
console.log('函數(shù)外let定義c:' + c);//輸出c=3
function change(){
let c = 6;
console.log('函數(shù)內(nèi)let定義c:' + c);//輸出c=6
}
change();
console.log('函數(shù)調(diào)用后let定義c不受函數(shù)內(nèi)部定義影響:' + c);//輸出c=3
本文摘自:http://www.cnblogs.com/ksl666/p/5944718.html