js中l(wèi)et和var定義變量的區(qū)別
javascript 嚴(yán)格模式
第一次接觸let關(guān)鍵字,有一個(gè)要非常非常要注意的概念就是”javascript 嚴(yán)格模式”,比如下述的代碼運(yùn)行就會(huì)報(bào)錯(cuò):
let hello = 'hello world.'; console.log(hello);
錯(cuò)誤信息如下:
let hello = 'hello world.'; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode ...
解決方法就是,在文件頭添加”javascript 嚴(yán)格模式”聲明:
'use strict'; let hello = 'hello world.'; console.log(hello);
let和var關(guān)鍵字的異同
聲明后未賦值,表現(xiàn)相同
'use strict';
(function() {
var varTest;
let letTest;
console.log(varTest); //輸出undefined
console.log(letTest); //輸出undefined
}());
使用未聲明的變量,表現(xiàn)不同:
(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.';
}());
重復(fù)聲明同一個(gè)變量時(shí),表現(xiàn)不同:
'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);
}());
變量作用范圍,表現(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不是同一個(gè)變量
}());
總結(jié)
以上所述是小編給大家介紹的js中l(wèi)et和var定義變量的區(qū)別,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS實(shí)現(xiàn)京東首頁(yè)之頁(yè)面頂部、Logo和搜索框功能
這篇文章主要實(shí)現(xiàn)京東的頁(yè)面頂部,logo和搜索框功能,本文有效果展示,頁(yè)面布局詳細(xì)分析,具體實(shí)現(xiàn)代碼,介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-01-01
js實(shí)現(xiàn)獲取兩個(gè)日期之間所有日期的方法
這篇文章主要介紹了js實(shí)現(xiàn)獲取兩個(gè)日期之間所有日期的方法,涉及javascript針對(duì)日期與時(shí)間的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
抖音小程序一鍵獲取手機(jī)號(hào)的實(shí)現(xiàn)思路
前端通過(guò)code獲取sessionkey,再用sessionkey解密手機(jī)號(hào)加密信息,PHP后端實(shí)現(xiàn)這一過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹抖音小程序一鍵獲取手機(jī)號(hào)功能,感興趣的朋友一起看看吧2025-01-01
javascript函數(shù)自動(dòng)執(zhí)行常用方法匯總
本文給大家匯總介紹了3種javascript函數(shù)自動(dòng)執(zhí)行的常用方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2016-03-03
JavaScript實(shí)現(xiàn)選中文字提示新浪微博分享效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)選中文字提示新浪微博分享效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
微信小程序textarea層級(jí)過(guò)高(蓋住其他元素)問(wèn)題的解決辦法
這篇文章主要給大家介紹了關(guān)于微信小程序textarea層級(jí)過(guò)高(蓋住其他元素)問(wèn)題的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
原生js實(shí)現(xiàn)圖片放大縮小計(jì)時(shí)器效果
本文主要介紹了原生js實(shí)現(xiàn)圖片放大縮小計(jì)時(shí)器效果的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
JS通過(guò)分析userAgent屬性來(lái)判斷瀏覽器的類型及版本
JavaScript判斷瀏覽器類型一般有兩種辦法,一種是根據(jù)各種瀏覽器獨(dú)有的屬性來(lái)分辨,另 一種是通過(guò)分析瀏覽器的userAgent屬性來(lái)判斷的2014-03-03
layer彈出的iframe層在執(zhí)行完畢后關(guān)閉當(dāng)前彈出層的方法
今天小編就為大家分享一篇layer彈出的iframe層在執(zhí)行完畢后關(guān)閉當(dāng)前彈出層的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

