欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2019年05月24日 11:47:31   作者:涼拌黃瓜  
這篇文章主要介紹了javascript中l(wèi)et和var以及const關(guān)鍵字的區(qū)別,下面我們來(lái)一起學(xué)習(xí)一下吧

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

//一個(gè)例子
'use strict';

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

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

//一個(gè)例子
(function() {
 console.log(varTest); //輸出undefined(注意要注釋掉下面一行才能運(yùn)行)
 console.log(letTest); //直接報(bào)錯(cuò):ReferenceError: letTest is not defined

 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
}());

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

//一個(gè)例子
'use strict';
(function() {
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
var varTest = 'varTest changed.';
 let letTest = 'letTest changed.'; //直接報(bào)錯(cuò):SyntaxError: Identifier 'letTest' has already been declared
 console.log(varTest); //輸出varTest changed.(注意要注釋掉上面letTest變量的重復(fù)聲明才能運(yùn)行)
 console.log(letTest);
}());


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

//一個(gè)例子
'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不是同一個(gè)變量
}());


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

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

6.var定義的變量可以修改,如果不初始化會(huì)輸出undefined,不會(huì)報(bào)錯(cuò)

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

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

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é)束!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論