国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

ES3/5模擬實(shí)現(xiàn)ES6塊級(jí)作用域方式探究

2bdenny / 710人閱讀

摘要:其中就包括定義塊級(jí)作用域的關(guān)鍵字塊級(jí)作用域如何用低版本模擬如何用低版本模擬加強(qiáng)版如何用低版本模擬自調(diào)用函數(shù)版

簡(jiǎn)述

在JavaScript編程中,當(dāng)我們使用關(guān)鍵字var時(shí),該變量是在距離最近的函數(shù)內(nèi)部或是在全局詞法環(huán)境中定義的,即函數(shù)作用域。這是JavaScript由來(lái)已久的特性,{}并不一定限制變量作用域的模式也困擾了許多從其他語(yǔ)言轉(zhuǎn)向JavaScript的開(kāi)發(fā)者。
隨著前端工程的發(fā)展壯大ECMA也感覺(jué)JavaScript對(duì)于編寫(xiě)大型項(xiàng)目來(lái)說(shuō)有些力不從心和不可編織的復(fù)雜度。于是ECMA吸納了許多語(yǔ)言的優(yōu)點(diǎn)并融入新版本的ES規(guī)范。
其中就包括定義塊級(jí)作用域的關(guān)鍵字:const let

ES6塊級(jí)作用域
{
    {
        let as = 1;
        as = 2333;
    }
    function look(){
        console.log(as);
    }
    // look();//R...Error
}
如何用低版本模擬: try catch
try{
    throw undefined
}catch(v){
    try{
        throw 1
    }catch(as){
        as = 2333;
    }
     function look(){
        console.log(as);
    }
    // look();//R...Error
}
如何用低版本模擬: try catch + with加強(qiáng)版
{
    {
        let a = 1;
        let b = 2;
        a = 2333;
        b = 444;
    }
    function look(){
        console.log(a);
    }
    // look();//R...Error
}
//=>>
try{
    throw undefined
}catch(__e__){
    try{
        throw {a:1,b:2}
    }catch(_$$scope$$_){
        with(_$$scope$$_){
            a = 2333;
            b = 444;
        }
    }
     function look(){
        console.log(a);
    }
    // look();//R...Error
}

如何用低版本模擬: 自調(diào)用函數(shù)版
;(function(){
    (function(){
        var as = 1;
        as = 2333;
    })();
    function look(){
        console.log(as);
    }
    look();//R...Error
})();

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/106618.html

相關(guān)文章

  • ES6系列】變量與塊級(jí)作用

    摘要:不允許在相同作用域內(nèi),重復(fù)聲明同一個(gè)變量。如但是在中則不再必要了,我們可以通過(guò)塊級(jí)作用域就能夠?qū)崿F(xiàn)本次主要針對(duì)中的變量和塊級(jí)作用域進(jìn)行了梳理學(xué)習(xí),并且通過(guò)與的實(shí)現(xiàn)方式進(jìn)行了對(duì)比,從而看出其變化以及快捷與便利。 ECMAScript 6.0(以下簡(jiǎn)稱(chēng) ES6)是 JavaScript 語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在 2015 年 6 月正式發(fā)布了。它的目標(biāo),是使得 JavaScript 語(yǔ)言可...

    PascalXie 評(píng)論0 收藏0
  • JavaScript 語(yǔ)言核心筆記(持續(xù)更新)

    摘要:在同一個(gè)塊內(nèi),不允許用重復(fù)聲明變量。中為新增了塊級(jí)作用域。自帶遍歷器的對(duì)象有數(shù)組字符串類(lèi)數(shù)組對(duì)象對(duì)象的對(duì)象等和結(jié)構(gòu)對(duì)象。返回一個(gè)遍歷器,使遍歷數(shù)組的鍵值對(duì)鍵名鍵值。 目錄 1.語(yǔ)法 2.類(lèi)型、值和變量 3.表達(dá)式和運(yùn)算符 4.語(yǔ)句 5.數(shù)組 6.對(duì)象 7.函數(shù) 8.全局屬性和方法 9.詞法作用域、作用域鏈、閉包 10.原型鏈、繼承機(jī)制 11.this的理解 12.ES5新特性 13.E...

    suosuopuo 評(píng)論0 收藏0
  • ES6系列文章 塊級(jí)作用

    摘要:聲明之函數(shù)作用域和全局作用域。塊級(jí)作用域不能重復(fù)聲明臨時(shí)性死區(qū)等特性用來(lái)解決變量存在的種種問(wèn)題。塊級(jí)作用域終于在外面訪(fǎng)問(wèn)不到了。一些常量聲明使用聲明的變量名全部大寫(xiě)。 ES5之前javascript語(yǔ)言只有函數(shù)作用域和全局作用域,使用var來(lái)聲明變量,var聲明的變量還存在變量提升使人困惑不已。我們先來(lái)復(fù)習(xí)一下ES5的var聲明,再對(duì)比學(xué)習(xí)let和const 。 var var聲明之函...

    趙連江 評(píng)論0 收藏0
  • JS 作用 閉包 this 原型 知識(shí)點(diǎn)總結(jié)

    摘要:如果你能看懂以下兩張圖那就可以跳過(guò)本總結(jié)了當(dāng)然點(diǎn)個(gè)贊再走啊喂啊喂分割線(xiàn)你不知道的上冊(cè)作用域和閉包和查詢(xún)可以理解為查找變量賦值的目標(biāo)和源頭當(dāng)然賦值可以是隱晦的查詢(xún)失敗將在嚴(yán)格模式下導(dǎo)致拋出非嚴(yán)格模式下則會(huì)自動(dòng)創(chuàng)建新變量額分別是修改原有作用域和 如果你能看懂以下兩張圖, 那就可以跳過(guò)本總結(jié)了, 當(dāng)然, 點(diǎn)個(gè)贊再走啊喂! (#`O′)! showImg(https://segmentfau...

    warnerwu 評(píng)論0 收藏0
  • JavaScript之變量及作用

    摘要:所以的作用域是靜態(tài)作用域,也叫詞法作用域。總結(jié)是一門(mén)基于詞法作用域靜態(tài)作用域的語(yǔ)言,會(huì)沿著作用域鏈像氣泡一樣向外部尋找變量聲明。又是函數(shù)作用域的語(yǔ)言,在中,使用和關(guān)鍵字后,能讓變量處于塊作用域中,而且不存在聲明提升。 本文共 1700 字,讀完只需 7 分鐘 概述 變量,編程語(yǔ)言中我們用來(lái)模擬現(xiàn)實(shí)概念的工具,比方說(shuō),變量可以表示對(duì)象,數(shù)組,數(shù)字,字符。既然是工具,那么就用工具的適用范圍...

    Faremax 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<