了解javascript中let和var及const關鍵字的區別
來源:懂視網
責編:小采
時間:2020-11-27 21:56:10
了解javascript中let和var及const關鍵字的區別
了解javascript中let和var及const關鍵字的區別:1.聲明后未賦值,表現相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現不同
導讀了解javascript中let和var及const關鍵字的區別:1.聲明后未賦值,表現相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現不同

1.聲明后未賦值,表現相同
//一個例子
'use strict';
(function() {
var varTest;
let letTest;
console.log(varTest); //
輸出undefined
console.log(letTest); //輸出undefined
}());
2.使用未聲明的變量,表現不同
//一個例子
(function() {
console.log(varTest); //
輸出undefined(注意要注釋掉下面一行才能運行)
console.log(letTest); //直接報錯:ReferenceError: letTest is not defined
var varTest = 'test var OK.';
let letTest = 'test let OK.';
}());
3.重復聲明同一個變量時,表現不同
//一個例子
'use strict';
(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
var varTest = 'varTest changed.';
let letTest = 'letTest changed.'; //直接報錯:SyntaxError: Identifier 'letTest' has already been declared
console.log(varTest); //
輸出varTest changed.(注意要注釋掉上面letTest變量的重復聲明才能運行)
console.log(letTest);
}());
4.變量作用范圍,表現不同
//一個例子
'use strict';
(function() {
var varTest = 'test var OK.';
let letTest = 'test let OK.';
{
var varTest = 'varTest changed.';
let letTest = 'letTest changed.';
}
console.log(varTest); //
輸出"varTest changed.",內部"{}"中聲明的varTest變量覆蓋外部的letTest聲明
console.log(letTest); //輸出"test let OK.",內部"{}"中聲明的letTest和外部的letTest不是同一個變量
}());
5.const定義的變量不可以修改,而且必須初始化
//一個例子
const b = 2;//正確
// const b;//錯誤,必須初始化
console.log('函數外const定義b:' + b);//有
輸出值
// b = 5;
// console.log('函數外修改const定義b:' + b);//無法輸出
6.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
7.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
學習到此結束!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
了解javascript中let和var及const關鍵字的區別
了解javascript中let和var及const關鍵字的區別:1.聲明后未賦值,表現相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現不同