日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

深入理解Javascript--作用域和賦值操作

瀏覽:23日期:2023-11-16 15:55:01

作用域作為一個最基礎的功能存在于各種編程語言中,它使得我們的編程更加靈活有趣。其基礎功能就是存儲變量中的值,然后可以對值進行訪問和修改。

可能我們都知道作用域的一些概念,以及其一些擴展的一些內容閉包等,但是相對于這些可能我們去了解這些變量到底是存到了哪里,而我們的程序是如何訪問到他們的會更加有趣。

var a = 1;

首先我們要了解到在我們進行聲明變量并進行賦值的時候到底誰參與了我們的整個流程。

1,引擎:它參與了整個JS程序的編譯和執行。

2,編譯器:它負責了語法分析和代碼的生成。

3,作用域:它負責手機并維護所有的標識符也就(變量)組成的一系列查詢,并對此實施了一套十分嚴格的規則,確定當前執行的代碼對這些標識符的訪問權限。

當引擎看到var a =1;的時候它和我們所想的是不一樣的,我們想這是一個聲明,他所認為的其實是這里有倆完全不同的聲明,一個由編譯器在編譯的時候處理,另一個則由引擎在運行時候處理。那我們看看他們到底是怎么工作的。

編譯器會先講var a = 1;這段程序分解成詞法單元,然后將詞法單元解析成一個樹結構,但是當編譯器開始進行代碼生成的時候,他對這段程序的處理方式會有所不同。

在我們理解的范圍內,編譯器是這樣工作的:為一個變量分配內存,將其命名為a,然后講值1保存進這個變量,但事實是不同的。

1,遇到 var a 的時候,編譯器會先詢問作用域是否已經有一個該名稱的變量存在于同一個作用域的集合中。如果是,編譯器就會忽略該聲明并繼續進行編譯,不然的話他會要求作用域在當前作用域的集合中聲明一個變量命名為a。

2,然后編譯器開始為引擎生成運行所需的代碼,這些代碼會被用來處理 a = 1 這個賦值的操作。然后引擎運行,它會先詢問作用域,當前作用域集合中是否存在了一個叫a的變量,如果是引擎就會使用這個變量,如果否,引擎會繼續在當前作用域的上級作用域查找該變量。最后只要找到了a,引擎就會把1賦值給它,如果沒有找到,引擎就會拋出一個異常。

所以說:在新變量的賦值中存在兩個操作,第一個是編譯器聲明變量,第二個就是引擎在作用域中查找該變量,并對其賦值。

下面看一段簡單的代碼

function demo(a){console.log(a) }demo(2);

在繼續說之前,我們先看看LHS和RHS,顧名思義,一個左一個右。這是引擎對變量所用的兩個查詢,L和R代表的是一個賦值的左側和右側(大部分情況下),也就是說當變量出現在賦值的左側時進行LHS查詢,出現在右側時進行RHS查詢。但是更確切的說法其實是RHS查詢只是簡單的查找某個變量的值,而LHS查詢則是找到變量的容器本身,從而對其進行賦值操作。那么根據這個說法,我們可以發現RHS其實代表的應該是“非左側”。我們看一個簡單代碼。

var a = 1; console.log(a);

在上面的代碼中,var a =1;對a的引用是一個LHS引用,而console.log(a)的a其實就是一個RHS引用。再看一個例子:

function demo(a){console.log(a); }demo(1);

上面的代碼中其實包含了RHS和LHS引用。我們理解下demo(1);的意思,它其實意味著RHS引用demo這個值,(...)意味著它需要被執行,而在執行的過程中,有一個隱式的LRS引用 a = 1; 這個查詢發生在參數傳遞的過程中。其中的console.log(a)也是個RHS引用。

同時我們需要知道,不成功的RHS會導致拋出一個異常,而不成功的LHS引用會導致自動隱式的創建一個全局變量(非嚴格模式),或者拋出異常(嚴格模式)。

作用域的嵌套

當一個塊或者函數嵌套在另一個塊或者函數內時,就發生了作用域的嵌套。因此,當在當前作用域中無法找到該變量時,引擎就會在外層嵌套的作用域中繼續查找(若一直沒有找到會到達全局作用域),直到找到該變量。

深入理解Javascript--作用域和賦值操作

上圖一層一層往外形成的結構就是我們常說的作用域鏈,最內層代表當前執行環境的作用域,最外層代表全局作用域。LHS和RHS都會在當前作用域進行查找,如果沒有找到,就會向外,以此類推,如果到達全局作用域都沒有找到,那無論如何這個查找過程都會停止。

來自:http://www.cnblogs.com/xiaoloulan/p/5961528.html

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99视频精品全部免费在线视频| 日本aⅴ免费视频一区二区三区| 黄色成人91| 狠狠久久婷婷| 日本伊人午夜精品| 四虎成人精品一区二区免费网站| 一区二区亚洲视频| 日韩亚洲国产欧美| 蜜桃av一区二区三区电影| 亚洲毛片视频| 国产在线观看91一区二区三区 | 日本电影久久久| 999精品在线| 美女尤物国产一区| 欧美精品一卡| 五月激情久久| 久久av导航| 欧美精选视频一区二区| 日韩极品在线观看| 亚洲区第一页| 在线视频观看日韩| 丰满少妇一区| 国产精品久久久久毛片大屁完整版| 日韩国产在线观看| 亚洲欧美网站| 久久国产成人午夜av影院宅| 久久久蜜桃一区二区人| 精品视频亚洲| 精品少妇一区| 国产日韩欧美一区二区三区在线观看 | 蜜臀久久99精品久久久久久9| 亚洲有吗中文字幕| 亚洲精品伊人| 日韩黄色av| 国产亚洲字幕| 国产一区二区三区四区五区 | 久草精品视频| 高潮一区二区| 午夜国产精品视频| 91国语精品自产拍| 99国产精品视频免费观看一公开| 日本欧美大码aⅴ在线播放| 国产麻豆综合| 怡红院精品视频在线观看极品| 亚洲综合在线电影| 香蕉久久国产| 中文视频一区| 亚洲不卡视频| 日韩欧美三级| 国产精品嫩草99av在线| 国产精品美女| 综合一区二区三区| 久久a爱视频| 在线成人动漫av| 久久国产精品免费一区二区三区| 你懂的国产精品| 中文字幕中文字幕精品| 视频一区日韩| 色在线视频观看| 国产日韩在线观看视频| 欧洲一级精品| 午夜一级在线看亚洲| 久久久久观看| 久久国产生活片100| 一区在线免费观看| 国产精品1luya在线播放| 黑人精品一区| 欧美精品中文字幕亚洲专区| 天堂成人免费av电影一区 | 国产亚洲欧洲| 国产精品三级| 午夜精品网站| 国产精品视频3p| 国产精品高颜值在线观看| 亚洲精品乱码| 日韩一区网站| 欧美片网站免费| 欧美日韩一区二区国产| 亚洲美女久久| 亚洲欧美成人综合| 中文字幕一区二区av| 日本精品国产| 精品久久91| 欧美日韩色图| 亚洲精品大片| 超碰在线99| 日韩高清成人在线| 青青草国产成人99久久| 精品久久一区| 免费人成精品欧美精品| 国产h片在线观看| 婷婷综合在线| 国产精品一区二区三区av麻| 另类小说一区二区三区| 免费国产自久久久久三四区久久| 国产精品xvideos88| 亚洲日本网址| 日韩一区二区三区四区五区| 精品国产黄a∨片高清在线| 欧美丝袜一区| 久久精品毛片| 日韩在线一二三区| 国产资源在线观看入口av| 国产精品白丝av嫩草影院| 久久都是精品| 中文字幕av一区二区三区人| 在线综合视频| 久久国产精品久久久久久电车| 亚洲精品乱码久久久久久蜜桃麻豆| 久久久久中文| 人人草在线视频| 久久九九电影| 国产婷婷精品| 日韩动漫一区| 欧美一区三区| 国产一区调教| 日韩激情一区二区| 不卡在线一区二区| 久久免费国产| 久久精品国产99久久| 99热精品久久| 国产亚洲高清视频| 久久九九精品| 毛片在线网站| 精品精品久久| 捆绑调教日本一区二区三区| 日韩成人免费| 久久精品国产大片免费观看| 欧美成人综合| 91久久在线| 亚洲毛片在线| 国产欧美啪啪| 国产一区二区三区久久久久久久久| 久久精品影视| 成人日韩在线观看| 自由日本语亚洲人高潮| 午夜一区在线| 首页国产精品| 夜鲁夜鲁夜鲁视频在线播放| 91国语精品自产拍| 欧美日韩精品在线一区| 国产欧美日韩精品一区二区三区| 国产一区二区亚洲| 日韩和欧美的一区| 国产欧美亚洲精品a| 97视频热人人精品免费| 日韩成人精品一区| 国产亚洲精品v| 久久亚洲国产精品尤物| 国产精品v日韩精品v欧美精品网站| 国产精品99一区二区| 久久精品国产68国产精品亚洲| 久久国产影院| 日韩欧美二区| 午夜欧美精品久久久久久久| 亚洲一区日韩在线| 国产高清亚洲| 中文日韩在线| 久久精品福利| 久久大逼视频| 日韩大片在线播放| 欧美日韩亚洲一区| 蜜桃视频一区二区三区在线观看| 伊人久久av| 亚洲一区二区三区四区电影| 91欧美在线| 国产欧美一区二区三区米奇| 久久久久91| 久久精品国内一区二区三区| 日本一区二区三区视频在线看| 黄色日韩精品| 精品美女在线视频| 91欧美日韩在线| 噜噜噜躁狠狠躁狠狠精品视频| 日韩精品一卡二卡三卡四卡无卡| 久久中文字幕二区| 国产精品嫩模av在线| 亚洲三级视频| 香蕉久久久久久久av网站| 久久久精品午夜少妇| 国产精品二区不卡| 国产精品视频首页| 久热综合在线亚洲精品| 私拍精品福利视频在线一区| 福利一区二区三区视频在线观看| 91免费精品| 荡女精品导航| 综合日韩av| 爽爽淫人综合网网站| 欧美影院三区| 日韩福利视频导航| 亚洲免费一区三区| 国产亚洲一区| 国产精品毛片视频| 久久中文字幕一区二区三区| 精品国产亚洲日本| 久久影院午夜精品| 国产成人久久精品麻豆二区 | 国产欧美日韩一区二区三区四区| 98精品视频|