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

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

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

瀏覽:24日期: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久久,三上悠亚国产精品一区二区三区
亚洲丝袜美腿一区| 在线免费观看亚洲| 国产日产一区| 模特精品在线| 伊人久久大香伊蕉在人线观看热v| 欧美日韩中文一区二区| 久久久久中文| 国产韩日影视精品| 美女国产精品| 亚洲精品伊人| 国产麻豆一区二区三区 | 91久久久精品国产| 99re国产精品| 四虎国产精品免费久久| 欧美一区免费| 嫩草伊人久久精品少妇av杨幂| 88久久精品| 精品中国亚洲| 久久久久美女| 国产精品毛片在线看| 蜜臀精品久久久久久蜜臀| 日本一区中文字幕| 国产精品激情| 日韩国产综合| 99国产精品自拍| 日韩精品乱码av一区二区| 国产精品中文字幕制服诱惑| 精品国产欧美| 91精品啪在线观看国产18| 午夜一级久久| 国产精品亚洲片在线播放| 你懂的国产精品永久在线| 日韩精品一卡| 综合国产视频| 精品一区二区三区的国产在线观看| 亚洲91视频| 日本v片在线高清不卡在线观看| 国产精品igao视频网网址不卡日韩 | 国际精品欧美精品| 久久在线免费| 日本综合视频| 国产成人免费| 欧美1区2区3区| 日本一区二区中文字幕| 韩日一区二区| 久久电影一区| 岛国精品一区| 视频在线观看国产精品| 美女视频一区在线观看| 久久五月天小说| 日韩av黄色在线| 亚洲人成在线网站| 日韩中文字幕| 日韩精品dvd| 奇米狠狠一区二区三区| 久久久精品五月天| 亚洲欧美日韩在线观看a三区| 久久国产精品色av免费看| 国产成年精品| 在线精品一区二区| 精品72久久久久中文字幕| 视频一区在线视频| 精品久久视频| 午夜电影一区| 久久精品播放| 国产精品久久久久久久久久白浆 | 97精品国产| 亚洲精品在线a| 桃色一区二区| 久久精品凹凸全集| 九一精品国产| 精品国产午夜肉伦伦影院| 三级一区在线视频先锋| 国产精品原创| 国产精品中文字幕亚洲欧美| 午夜宅男久久久| a国产在线视频| 热久久久久久| 免费黄网站欧美| 日韩国产欧美一区二区| 国产一卡不卡| 视频在线在亚洲| 999久久久免费精品国产| 国产欧美日韩在线观看视频| 亚洲神马久久| 日韩欧美1区| 久久不见久久见免费视频7| 蘑菇福利视频一区播放| 秋霞影视一区二区三区| 国产精品66| 日韩国产在线一| 美女黄网久久| 国产精品腿扒开做爽爽爽挤奶网站| 成人av三级| 91精品国产自产观看在线| 爽爽淫人综合网网站| re久久精品视频| 88xx成人免费观看视频库| 久久精品午夜| 国产精品porn| 欧美久久久网站| 综合激情一区| 老牛国产精品一区的观看方式| 99久久精品网| 特黄毛片在线观看| 国内精品美女在线观看| 国产精品igao视频网网址不卡日韩 | 国产精品极品| 日韩av中文字幕一区二区三区| 日韩午夜免费| 国产综合亚洲精品一区二| 日韩在线中文| 青青青免费在线视频| 精品三级久久久| 麻豆国产91在线播放| 国产精品一区毛片| 青草国产精品久久久久久| 中文精品在线| 久热综合在线亚洲精品| 久久香蕉精品| 综合亚洲视频| 日韩国产欧美一区二区三区| 亚洲精品极品| 日韩中文字幕区一区有砖一区| 黄色亚洲大片免费在线观看| 欧美va亚洲va日韩∨a综合色| 亚洲成人不卡| 亚洲一级高清| 在线综合欧美| 亚洲精品欧洲| 日韩av成人高清| 日韩av一区二| 国产欧美欧美| 久久69成人| 久久久久久色 | 欧美亚洲二区| 国产精品一区二区av交换| 日韩高清电影免费| 欧美久久久网站| 精品视频一区二区三区四区五区 | 欧美日韩一区自拍| 国产精品久久久久久久久久妞妞| 国产乱码精品一区二区三区亚洲人 | 伊人久久成人| 久久成人一区| 日日夜夜免费精品视频| 欧美日韩亚洲一区三区| 美女毛片一区二区三区四区最新中文字幕亚洲| 久久不见久久见免费视频7| 另类专区亚洲| 久久国产直播| 亚洲中午字幕| 7m精品国产导航在线| 久久国产尿小便嘘嘘| 精品国产一区二区三区2021| 丁香六月综合| 亚洲综合日韩| 国产精品亚洲二区| 岛国av在线播放| 2023国产精品久久久精品双| 亚洲欧美日韩国产综合精品二区| 日韩制服丝袜先锋影音| 欧美日本二区| 伊人久久高清| 免费看黄色91| 久久免费精品| 亚洲激情另类| 青青国产91久久久久久| 国产+成+人+亚洲欧洲在线| 婷婷成人在线| 深夜日韩欧美| 超级白嫩亚洲国产第一| 国产精品普通话对白| 国产欧美高清视频在线| 日本蜜桃在线观看视频| 一区二区自拍| 国产欧美日韩影院| 99久精品视频在线观看视频| 亚洲精品大片| 蜜桃精品在线| 日本一不卡视频| 日韩毛片视频| 日韩在线观看中文字幕| yellow在线观看网址| 中文字幕av一区二区三区四区| 久久免费视频66| 国产女优一区| 久久免费影院| 亚洲精品字幕| 久久男人av资源站| 综合色一区二区| 中文字幕在线高清| 亚洲精品字幕| 日韩免费久久| 国产毛片精品| 在线午夜精品| 中文字幕高清在线播放| 日韩av资源网| 亚洲色诱最新| 特黄毛片在线观看|