JavaScript中var let const的用法有哪些區(qū)別
1.重復(fù)聲明
var支持重復(fù)聲明,let、const不支持重復(fù)聲明。
1.1 var
var a = 1; var a = 2; console.log(a);
輸出結(jié)果:
2
1.2 let
let b = 3; let b = 4; console.log(b);
輸出結(jié)果:
Uncaught SyntaxError: Identifier 'b' has already been declared
1.3 const
const c = 5; const c = 6; console.log(c);
輸出結(jié)果:
Uncaught SyntaxError: Identifier 'c' has already been declared
2.變量提升
var支持變量提升,但是只提升聲明不提升值。let、const不支持變量提升。
2.1 var
a=2; console.log(a); var a = 1;
輸出結(jié)果:
2
2.2 let
a=2; console.log(a); let a = 1;
輸出結(jié)果:
Uncaught ReferenceError: Cannot access 'a' before initialization at index.html:28
2.3 const
a=2; console.log(a); const a = 1;
輸出結(jié)果:
Uncaught ReferenceError: Cannot access 'a' before initialization at index.html:28
3.暫時性死區(qū)
var不存在暫時性死區(qū),let、const存在暫時性死區(qū)。
只要作用域內(nèi)存在let、const,它們所聲明的變量或常量就自動“綁定”在這個區(qū)域,不再受外部作用域影響。
3.1 var
var a = 1; function fun() { console.log(a); var a = 2; } fun();
輸出結(jié)果:
undefined
3.2 let
let a = 1; function fun() { console.log(a); let a = 2; } fun();
輸出結(jié)果:
Uncaught ReferenceError: Cannot access 'a' before initialization
3.3 conset
let a = 1; function fun() { console.log(a); const a = 2; } fun();
輸出結(jié)果:
Uncaught ReferenceError: Cannot access 'a' before initialization
4. window對象的屬性和方法
全局作用域中,var聲明的變量、通過function聲明的函數(shù),會自動變成window對象的屬性和方法。
var a = 1; function add() { }; console.log(window.a === a); console.log(window.add === add);
輸出結(jié)果:
true
true
5.塊級作用域
var沒有塊級作用域,let、const有塊級作用域。
使用var
在for循環(huán)中定義變量i:
for (var i = 0; i < 3; i++) { // console.log(i); } console.log(i);
輸出結(jié)果:
3
使用let
在for循環(huán)中定義變量i:
for (let i = 0; i < 3; i++) { // console.log(i); } console.log(i);
輸出結(jié)果:
Uncaught ReferenceError: i is not defined
到此這篇關(guān)于JavaScript中var let const的用法有哪些區(qū)別的文章就介紹到這了,更多相關(guān)JavaScript var用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Js中var,let,const的區(qū)別你知道嗎
- Javascript?中?var?和?let?、const?的區(qū)別及使用方法
- javascript中var與let、const的區(qū)別詳解
- JavaScript變量中var,let和const的區(qū)別
- 淺談JS中var,let和const的區(qū)別
- JavaScript變量聲明的var、let、const詳解
- javascript?變量聲明?var,let,const?的區(qū)別
- 面試官常問之說說js中var、let、const的區(qū)別
- JavaScript?ES6語法中l(wèi)et,const?,var?的區(qū)別
- javascript的var與let,const之間的區(qū)別詳解
- JavaScript es6中var、let以及const三者區(qū)別案例詳解
- 詳解javascript中var與ES6規(guī)范中l(wèi)et、const區(qū)別與用法
- 了解javascript中l(wèi)et和var及const關(guān)鍵字的區(qū)別
- 5分鐘快速掌握J(rèn)S中var、let和const的異同
- JavaScript中var、let、const區(qū)別淺析
- JavaScript變量聲明var,let.const及區(qū)別淺析
- JavaScript ES6中const、let與var的對比詳解
- JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令
- JavaScript中const、var和let區(qū)別淺析
- JavaScript聲明變量的這四兄弟(var、let、function、const)
相關(guān)文章
js中常用的4種模糊查詢詳解(includes()、indexOf()、search()、match())
這篇文章主要給大家介紹了關(guān)于js中常用的4種模糊查詢(includes()、indexOf()、search()、match())的相關(guān)資料,搜索可以使我們更快的找到某一個關(guān)鍵詞或者某一個商品,所以模糊查詢和下拉匹配也成了前端必備的一個小技能,需要的朋友可以參考下2023-11-11document.compatMode的CSS1compat使用介紹
這篇文章主要介紹了document.compatMode的CSS1compat使用,需要的朋友可以參考下2014-04-04selenium 反爬蟲之跳過淘寶滑塊驗證功能的實現(xiàn)代碼
這篇文章主要介紹了selenium 反爬蟲之跳過淘寶滑塊驗證功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08