最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

了解JavaScript中l(wèi)et語句

 更新時間:2019年05月30日 14:50:34   作者:小峰  
使用let語句,允許你在JavaScript中創(chuàng)建塊范圍局部變量。let語句是在JavaScript的ECMAScript 6標準中引入的。下面我們來簡單學習一下吧

使用let語句,允許你在JavaScript中創(chuàng)建塊范圍局部變量。let語句是在JavaScript的ECMAScript 6標準中引入的。

在你往下了解let語句之前,我建議你先查看基于Infragistics jQuery庫的Ignite UI,它可以幫助你更快地編寫和運行Web應用程序。你可以使用JavaScript庫的Ignite UI來快速解決HTML5,jQuery,Angular,React或ASP.NET MVC中復雜的LOB需求。(你可以在這里下載Ignite UI的免費試用版。)

在ECMAScript 6之前,JavaScript有三種類型的范圍:

  • 全局范圍
  • 函數范圍
  • 詞匯范圍

為了詳細探索let語句,請細想下面的代碼段:

function foo() {
var x = 9;
if (x > 5) {
var x = 7;
console.log("Value of x in if statement = " + x);
}
console.log("Value of x outside if statement = " + x);
}
foo();

以上代碼得到的輸出:

在上面的代碼中,我們使用var語句聲明變量x。因此,變量x的范圍是函數范圍。if語句內的變量x 就是if語句外創(chuàng)建的變量x 。因此,在你修改if語句塊內變量x的值時,也會修改函數中變量x的所有引用的值。

為了避免這種情況,你需要使用塊級別范圍,let語句允許你創(chuàng)建塊范圍的局部變量。

修改上面的代碼片段,使用let語句聲明變量:

function foo() {
var x = 9;
if (x > 5) {
let x = 7;
console.log("Value of x in if statement = " + x);
}
console.log("Value of x outside if statement = " + x);
}
foo();

在上面的代碼段中,我們使用let語句來聲明范圍級局部變量x。因此,在if語句內更新變量x的值不會影響if語句外的變量x的值。

下面是上述代碼的輸出:

與使用函數范圍(或全局范圍)聲明的變量不同,使用let聲明的變量是塊范圍的:它們只存在于它們定義的塊中。

變量提升

使用let聲明的變量提升不同于使用var聲明的變量。因此,使用let聲明的變量沒有變量提升,這意味著使用let聲明的變量不會移動到執(zhí)行上下文的頂部。

為了更好地理解這一點,請看以下這段代碼:

function foo() {
console.log(x);
console.log(y);
var x = 9;
let y = 67;
}
foo();

作為輸出,你將獲得變量y的ReferenceError,變量y使用let語句聲明。使用let聲明的變量不會提升到執(zhí)行上下文之上。

重新聲明變量

你不能在同一個函數或塊中使用let重新聲明一個變量。這樣做會出現語法錯誤。請看以下代碼:

function foo() {
if(true){
let x = 9;
let x = 89; 
}
}
foo();

運行上面的代碼會出來一個語法錯誤,如下所示:

暫時性死區(qū)

有時,使用let聲明的變量會導致暫時性死區(qū)。在以下代碼中,let x=x+67 將拋出x未定義的異常。

之所以會出現這個錯誤,是因為表達式(x + 67)求的是if塊范圍內局部變量x的值,而不是函數范圍內局部變量x的值。運行上面的代碼,你會得到這樣一個異常:

你可以通過移動聲明變量到表達式的上面一行來修復上述錯誤,如下所示:

塊級范圍界定是任何編程語言最重要的功能之一,并且隨著ECMAScript 6中l(wèi)et語句的引入,JavaScript現在也有了這個功能。使用let語句,允許創(chuàng)建一個作用域在塊范圍內的變量。這可以解決許多問題,例如全局范圍變量的意外修改,閉包中的局部變量,以及幫助編寫更清晰的代碼。

英文原文:Easy JavaScript, Part 1: Learn the 'let' Statement

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • javascript中的array數組使用技巧

    javascript中的array數組使用技巧

    很多語言把數組作為集合的基礎,所以array是學習每一項語言必須掌握的。
    2010-01-01
  • JavaScript的DOM事件詳解

    JavaScript的DOM事件詳解

    這篇文章主要為大家詳細介紹了JavaScript的DOM事件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • IE不支持getElementsByClassName最終完美解決方案

    IE不支持getElementsByClassName最終完美解決方案

    目前可以這么解決,判斷瀏覽器支不支持這個方法,如果支持就不管;如果不支持,就在document對象里加入getElementsByClassName這個方法,按興趣的朋友可以了解下
    2012-12-12
  • 微信小程序中顯示html格式內容的方法

    微信小程序中顯示html格式內容的方法

    最近在工作中遇到一個需求,需要在不能顯示html格式的微信小程序中顯示html格式的內容,通過查找相關的資料發(fā)現可以利用wxParse來實現,下面這篇文章就主要給大家介紹了微信小程序實現顯示html格式內容的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • JS中處理時間之setUTCMinutes()方法的使用

    JS中處理時間之setUTCMinutes()方法的使用

    這篇文章主要介紹了JavaScript中處理時間之setUTCMinutes()方法的使用,是JavaScript入門學習中的基礎知識,需要的朋友可以參考下
    2015-06-06
  • Javascript中eval函數的使用方法與示例

    Javascript中eval函數的使用方法與示例

    JavaScript有許多小竅門來使編程更加容易。其中之一就是eval()函數,這個函數可以把一個字符串當作一個JavaScript表達式一樣去執(zhí)行它。以下是它的說明
    2007-04-04
  • Javascript Objects詳解

    Javascript Objects詳解

    在JavaScript中,對象(Objects)是數據(變量),屬性和方法。 幾乎“一切”的JavaScript視為對象。日期,數組,字符串,函數的…在JavaScript中你也可以創(chuàng)建你自己的對象。
    2014-09-09
  • JavaScript中各種引用類型的常用操作方法小結

    JavaScript中各種引用類型的常用操作方法小結

    這篇文章主要介紹了JavaScript中各種引用類型的常用操作方法小結,基本上都用實際代碼進行展示,是整理得比較全面的學習筆記,需要的朋友可以參考下
    2016-05-05
  • 在JavaScript中操作時間之getMonth()方法的使用

    在JavaScript中操作時間之getMonth()方法的使用

    這篇文章主要介紹了在JavaScript中操作時間之getMonth()方法的使用,是JS入門學習中的基礎知識,需要的朋友可以參考下
    2015-06-06
  • Javascript動態(tài)引用CSS文件的2種方法介紹

    Javascript動態(tài)引用CSS文件的2種方法介紹

    這篇文章主要介紹了Javascript動態(tài)加載CSS文件的2種方法,經常使用和非常實用的方法,需要的朋友可以參考下
    2014-06-06

最新評論

阳江市| 新竹县| 沙河市| 乌兰浩特市| 铜山县| 沁阳市| 古交市| 富源县| 利川市| 右玉县| 额敏县| 光山县| 永清县| 张家界市| 景德镇市| 西乌| 洪江市| 辉县市| 姚安县| 富锦市| 长垣县| 林周县| 顺义区| 寿宁县| 浦县| 芦溪县| 双峰县| 贵阳市| 墨玉县| 石家庄市| 芜湖市| 宁德市| 漠河县| 东丰县| 成安县| 迁西县| 兴义市| 普宁市| 兰西县| 涡阳县| 阿克陶县|