es6中l(wèi)et和var的區(qū)別有哪些

本篇內(nèi)容介紹了“es6中l(wèi)et和var的區(qū)別有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鹽城,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

區(qū)別:1、let定義的變量,作用域是在定義它的塊級代碼以及其中包括的子塊中,而var定義的變量,作用域是包括它的函數(shù)作用域或者全局作用域;2、let定義的變量,在同一個作用域內(nèi)不能重復(fù)聲明,而var定義的變量,在同一作用域內(nèi)可以重復(fù)聲明。

本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。

es6中l(wèi)et和var的區(qū)別

let是在ES6中新引入的關(guān)鍵字,用來改進var帶來的各種問題。

let和var相比,大致有下面幾個方面的不同:

作用域

  • 通過let定義的變量,作用域是在定義它的塊級代碼以及其中包括的子塊中,并且無法在全局作用域添加變量。

  • 通過var定義的變量,作用域為包括它的函數(shù)作用域或者全局作用域。

重復(fù)聲明

  • 通過let定義的變量,在同一個作用域內(nèi),不可以重復(fù)聲明。

  • 通過var定義的變量,在同一個作用域內(nèi),重復(fù)聲明,在生成執(zhí)行上下文的時候,會無視后面的聲明。

臨時死區(qū)引起的提升等問題

我們知道在代碼執(zhí)行之前,會先掃描所有域內(nèi)的var聲明的變量,將其先進行初始化為undefined,然后再執(zhí)行代碼,也就是所謂的“提升”現(xiàn)象。

但對于let聲明的變量而言,則有所不同。在代碼執(zhí)行之前的掃描,同樣也會對let變量進行“提升”,但并沒有將其置為undefined。let定義的變量雖然經(jīng)歷了提升,但在沒有執(zhí)行到初始化它的代碼前,該變量并沒有被初始化,如果此時訪問的話,會被置為ReferenceError錯誤。從代碼塊開始到執(zhí)行到let變量初始化完畢這段時間,let變量已經(jīng)被聲明,但不可訪問。這段時間被成為臨時死區(qū)。

“es6中l(wèi)et和var的區(qū)別有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)站題目:es6中l(wèi)et和var的區(qū)別有哪些
本文地址:http://muchs.cn/article42/pihjhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、、企業(yè)建站、品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)