最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:56:10
文檔

了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別

了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別:1.聲明后未賦值,表現(xiàn)相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現(xiàn)不同
推薦度:
導(dǎo)讀了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別:1.聲明后未賦值,表現(xiàn)相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現(xiàn)不同

1.聲明后未賦值,表現(xiàn)相同

//一個例子
'use strict';

(function() {
 var varTest;
 let letTest;
 console.log(varTest); //
輸出undefined console.log(letTest); //輸出undefined }());

2.使用未聲明的變量,表現(xiàn)不同

//一個例子
(function() {
 console.log(varTest); //
輸出undefined(注意要注釋掉下面一行才能運(yùn)行) console.log(letTest); //直接報錯:ReferenceError: letTest is not defined var varTest = 'test var OK.'; let letTest = 'test let OK.'; }());

3.重復(fù)聲明同一個變量時,表現(xiàn)不同

//一個例子
'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變量的重復(fù)聲明才能運(yùn)行) console.log(letTest); }());

4.變量作用范圍,表現(xiàn)不同

//一個例子
'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.",內(nèi)部"{}"中聲明的varTest變量覆蓋外部的letTest聲明 console.log(letTest); //輸出"test let OK.",內(nèi)部"{}"中聲明的letTest和外部的letTest不是同一個變量 }());

5.const定義的變量不可以修改,而且必須初始化

//一個例子
const b = 2;//正確
// const b;//錯誤,必須初始化 
console.log('函數(shù)外const定義b:' + b);//有
輸出值 // b = 5; // console.log('函數(shù)外修改const定義b:' + b);//無法輸出

6.var定義的變量可以修改,如果不初始化會輸出undefined,不會報錯

var a = 1;
// var a;//不會報錯
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

7.let是塊級作用域,函數(shù)內(nèi)部使用let定義后,對函數(shù)外部無影響

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

學(xué)習(xí)到此結(jié)束!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別

了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別:1.聲明后未賦值,表現(xiàn)相同 //一個例子 'use strict'; (function() { var varTest; let letTest; console.log(varTest); //輸出undefined console.log(letTest); //輸出undefined }()); 2.使用未聲明的變量,表現(xiàn)不同
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top