摘要:其中就包括定義塊級(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
{ { 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
摘要:不允許在相同作用域內(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ǔ)言可...
摘要:在同一個(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...
摘要:聲明之函數(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聲明之函...
摘要:如果你能看懂以下兩張圖那就可以跳過(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...
摘要:所以的作用域是靜態(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ù)字,字符。既然是工具,那么就用工具的適用范圍...
閱讀 2418·2021-11-25 09:43
閱讀 1250·2021-11-24 09:39
閱讀 752·2021-11-23 09:51
閱讀 2389·2021-09-07 10:18
閱讀 1867·2021-09-01 11:39
閱讀 2783·2019-08-30 15:52
閱讀 2598·2019-08-30 14:21
閱讀 2863·2019-08-29 16:57