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

JS中l(wèi)et的基本用法舉例

 更新時(shí)間:2023年01月05日 15:31:51   作者:chenmo2001  
ES6新增了let命令,用來(lái)聲明變量,它的用法類似于var,但是所聲明的變量,只在let命令所在的代碼塊內(nèi)有效,下面這篇文章主要給大家介紹了關(guān)于JS中l(wèi)et的基本用法,需要的朋友可以參考下

JS中l(wèi)et用法

基本用法

Let命令用來(lái)聲明變量。它的用法類似于var,但是所聲明的變量。只在let命令所在的代碼塊內(nèi)有效。

上面代碼塊中,分別用let和var聲明了兩個(gè)變量。然后在代碼塊之外調(diào)用這兩個(gè)變量,結(jié)果let聲明的變量報(bào)錯(cuò),var聲明的變量返回了正確的值。這表明,let聲明的變量只在它所在的代碼塊有效。

還有:

-var聲明的變量,可以預(yù)解析提前調(diào)用的結(jié)果是undefined,let定義的變量不能預(yù)解析,提前調(diào)用的結(jié)果是報(bào)錯(cuò)。

-var定義的變量,變量名可以重復(fù),效果是重復(fù)賦值,let定義的變量不能重復(fù),否則執(zhí)行報(bào)錯(cuò)。

-塊級(jí)作用域{},一個(gè){}可以看作一個(gè)作用域,if語(yǔ)句和for語(yǔ)句里面的{}也屬于塊作用域

很適合for循環(huán)的計(jì)數(shù)器

例如:

上面代碼中,變量i是var命令聲明的,在全局范圍內(nèi)都有效,所以全局只有一個(gè)變量i。每一次循環(huán),變量i都會(huì)發(fā)生改變,二循環(huán)內(nèi)被賦給數(shù)組a的函數(shù)內(nèi)部的console.log(i),里面的i指向的就是全局的i,也就是說(shuō),所有數(shù)組a的成員里面的i,指向的都是同一個(gè)i,導(dǎo)致運(yùn)行時(shí)輸出的是最后一輪的i的值,也就是10.

如果使用let,聲明的變量?jī)H在塊級(jí)作用域內(nèi)有效,最后輸出的是6,

上面代碼中,變量i是let聲明的,當(dāng)前的i只在本輪循環(huán)有效,所以每一次循環(huán)的i其實(shí)都是一個(gè)新的變量,所以最后輸出的是6。JavaScript引擎內(nèi)部會(huì)記住上一輪循環(huán)的值,初始化本輪的變量i時(shí),就在上一輪循環(huán)的基礎(chǔ)上進(jìn)行計(jì)算。

  • 暫時(shí)性死區(qū)TDZ

-TDZ又叫暫時(shí)性死區(qū),意思是變量在作用域內(nèi)已經(jīng)存在,必須在let/const聲明后面使用。

只要塊級(jí)作用域內(nèi)存在let命令,它所聲明的變量就“綁定”(binding)這個(gè)區(qū)域,不再受外部的影響。

上面代碼中,存在全局變量a,但是塊級(jí)作用域內(nèi)let又聲明了一個(gè)局部變量a,導(dǎo)致后者綁定這個(gè)塊級(jí)作用域,所以在let聲明變量前,對(duì)a賦值會(huì)報(bào)錯(cuò)。

ES6明確規(guī)定,如果區(qū)塊中存在let和const命令,這個(gè)區(qū)塊對(duì)這些命令聲明的變量,從一開(kāi)始就形成了封閉作用域。凡是在聲明之前就 使用這些變量,就會(huì)報(bào)錯(cuò)。

例如:

在聲明變量之前都屬于該變量的“死區(qū)”.

-TDZ本質(zhì):只要一進(jìn)入當(dāng)前作用域,所要使用的變量就已經(jīng)存在,但是不可獲取,只有等到聲明變量的那一行代碼出現(xiàn),才可以獲取和使用該變量。

TDZ也意味著typeof不再是一個(gè)百分百安全的操作。

如果

typeof a;

Let a;

變量a,使用let命令聲明之前,都屬于a的“死區(qū)”,只要用到該變量就會(huì)報(bào)錯(cuò)。因此,typeof運(yùn)行時(shí)就會(huì)拋出一個(gè)ReferenceError.

作為比較,如果一個(gè)變量根本沒(méi)有被聲明,使用typeof反而不會(huì)報(bào)錯(cuò)。

ES6規(guī)定暫時(shí)性死區(qū)和let,const語(yǔ)句不出現(xiàn)變量提升,主要是為了減小運(yùn)行時(shí)的錯(cuò)誤,防止變量在聲明前就使用這個(gè)變量。

補(bǔ)充:var和let的區(qū)別

區(qū)別:

1.使用var聲明的變量,其作用域?yàn)樵撜Z(yǔ)句所在的函數(shù)內(nèi),且存在變量提升現(xiàn)象;

2.使用let聲明的變量,其作用域?yàn)樵撜Z(yǔ)句所在的代碼塊內(nèi),不存在變量提升;

3.let不允許在相同作用域內(nèi),重復(fù)聲明同一個(gè)變量。

總結(jié)

到此這篇關(guān)于JS中l(wèi)et的基本用法舉例的文章就介紹到這了,更多相關(guān)JS let用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在TypeScript中使用函數(shù)

    如何在TypeScript中使用函數(shù)

    這篇文章主要為大家介紹了如何在TypeScript中使用函數(shù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • js改變文章字體大小的實(shí)例代碼

    js改變文章字體大小的實(shí)例代碼

    這篇文章主要介紹了js改變文章字體大小的實(shí)例代碼,有需要的朋友可以參考一下
    2013-11-11
  • iconfont的三種使用方式詳解

    iconfont的三種使用方式詳解

    這篇文章主要介紹了iconfont的三種使用方式,需要的朋友可以參考下
    2018-08-08
  • JS實(shí)現(xiàn)動(dòng)態(tài)添加外部js、css到head標(biāo)簽的方法

    JS實(shí)現(xiàn)動(dòng)態(tài)添加外部js、css到head標(biāo)簽的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)動(dòng)態(tài)添加外部js、css到head標(biāo)簽的方法,涉及javascript針對(duì)頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-06-06
  • js獲取當(dāng)前日期前七天的方法

    js獲取當(dāng)前日期前七天的方法

    這篇文章主要介紹了js獲取當(dāng)前日期前七天的方法,涉及javascript中for語(yǔ)句及日期操作的技巧,需要的朋友可以參考下
    2015-02-02
  • javascript 精確獲取樣式屬性(下)

    javascript 精確獲取樣式屬性(下)

    繼續(xù)上一部分,我們要看一下顏色?;鸷孟癫还苋叨欢紩?huì)轉(zhuǎn)變?yōu)閞gb格式,不過(guò)我們通常比較習(xí)慣的是hex格式。這就用到以下兩函數(shù)。
    2010-01-01
  • js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除)

    js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除)

    本篇文章主要介紹了js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除) 需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-12-12
  • js實(shí)現(xiàn)電梯導(dǎo)航效果的示例代碼

    js實(shí)現(xiàn)電梯導(dǎo)航效果的示例代碼

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)電梯導(dǎo)航效果的相關(guān)知識(shí),文中通過(guò)示例代碼介紹的很詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-12-12
  • TypeScript遍歷Array的方法(for,forEach,every)

    TypeScript遍歷Array的方法(for,forEach,every)

    本文主要介紹了TypeScript遍歷Array的方法(for,forEach,every),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • JavaScript實(shí)現(xiàn)表單驗(yàn)證案例

    JavaScript實(shí)現(xiàn)表單驗(yàn)證案例

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)表單驗(yàn)證案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論