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

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

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

瀏覽:22日期: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久久,三上悠亚国产精品一区二区三区
日本精品国产| 少妇精品久久久一区二区| 首页亚洲欧美制服丝腿| 黄色在线一区| 亚洲视频播放| 亚洲女人av| 久久亚洲美女| 天堂va欧美ⅴa亚洲va一国产| 亚洲精品**中文毛片| 欧美日一区二区在线观看| 91亚洲无吗| 国产精品久久久久77777丨| 日韩欧乱色一区二区三区在线| 免费在线亚洲欧美| 日韩国产91| 欧美精品三级在线| 老色鬼精品视频在线观看播放| 99久久精品费精品国产| 国产在线|日韩| 女人av一区| 亚洲九九精品| 你懂的国产精品| 丁香六月综合| 婷婷中文字幕一区| 亚洲欧美一级| 久久亚洲人体| 91精品一区二区三区综合| 韩日一区二区三区| 亚洲狼人精品一区二区三区| 日韩在线成人| 国产极品模特精品一二| 在线人成日本视频| 九九色在线视频| 中文国产一区| 国产欧美高清视频在线| 日韩免费小视频| 亚洲欧美日韩在线观看a三区 | 成人片免费看| av一区二区高清| 视频一区日韩| 久久免费精品| 激情欧美国产欧美| 亚州国产精品| 国产成人精品三级高清久久91| 国产精区一区二区| 免费视频一区二区三区在线观看| 亚洲精品美女| 国产精品大片| av资源亚洲| 日韩精品一二区| 久久精品亚洲一区二区| 亚洲精品小说| 国产精品手机在线播放| 久久黄色影院| 欧美日本久久| 国内精品99| 国产精品巨作av| 91超碰国产精品| 久久av导航| 国产精品丝袜xxxxxxx| 国产乱码精品一区二区三区亚洲人 | 国产精品.xx视频.xxtv| 色婷婷久久久| 69堂精品视频在线播放| 亚洲不卡系列| 欧美在线看片| 午夜精品久久久久久久久久蜜桃| 四季av一区二区凹凸精品| 在线一区免费| 美女视频黄 久久| 西西人体一区二区| 日韩av在线中文字幕| 亚洲免费福利一区| 亚洲福利专区| 激情不卡一区二区三区视频在线| 国产精品多人| 日韩视频精品在线观看| 国产精品3区| 水蜜桃久久夜色精品一区的特点| 日韩午夜免费| 精品久久精品| 日韩欧美中文字幕电影| 久久亚洲在线| 老司机免费视频一区二区三区| 久久精品国产亚洲aⅴ| 伊人精品一区| 国产专区精品| 欧美精品中文| 在线看片一区| 日韩午夜免费| 91精品蜜臀一区二区三区在线| 一区在线免费| 国产精品videossex久久发布 | 久久永久免费| 视频一区视频二区中文| 日韩精品永久网址| 国产精品美女久久久久久不卡| 高清在线一区| 日韩一区二区三区精品| 不卡中文字幕| 日本欧美不卡| 福利视频一区| 国产精品美女在线观看直播| 午夜在线播放视频欧美| 久久九九精品| 日韩国产一区| 色综合五月天| 国产videos久久| 精品视频免费| 久久精品国产免费| 国产精品videossex久久发布| 美女av在线免费看| 国产精品mv在线观看| 日本va欧美va欧美va精品| 亚洲经典在线| 欧美精品羞羞答答| 久久高清精品| 97精品一区| 国产精品久久久久久久免费观看 | 精品日韩一区| 亚州av一区| 亚洲日本在线观看视频| 亚洲精品a级片| 不卡av一区二区| 国内精品福利| 国产精品毛片一区二区三区| 国产美女一区| 免费一级片91| 中文字幕亚洲影视| 蜜臀av亚洲一区中文字幕| 视频在线观看一区| 一区二区高清| 日韩欧美中文字幕电影| 日韩欧美中文字幕电影| 日本少妇精品亚洲第一区| 婷婷五月色综合香五月| 欧美日韩国产一区二区在线观看| 久久久久国产| 欧洲一区二区三区精品| 色天使综合视频| 激情自拍一区| 国产亚洲高清视频| 美国三级日本三级久久99| 亚洲人成亚洲精品| 蜜臀av在线播放一区二区三区 | 欧美aaaaaa午夜精品| 你懂的国产精品永久在线| 麻豆国产精品视频| 精品国产第一福利网站| 欧美日韩亚洲在线观看| av不卡免费看| 亚洲精品日本| 美女视频黄久久| 亚洲不卡av不卡一区二区| 免费av一区二区三区四区| 热久久国产精品| 国产精品亚洲产品| av综合电影网站| 亚洲欧美成人综合| 日韩高清不卡一区二区| 精品国产欧美日韩| 久久国产中文字幕| 蜜臀精品一区二区三区在线观看| 久久激情婷婷| 亚洲少妇诱惑| 国产精品三p一区二区| 精品久久在线| 国产精品女主播一区二区三区 | 久久中文在线| 日韩中文视频| 亚洲一二av| 成人影视亚洲图片在线| 日韩午夜av在线| 国产精品成人国产| 丝袜美腿诱惑一区二区三区| 免费在线看一区| 国产一区精品福利| 亚洲综合电影一区二区三区| 国产精品流白浆在线观看| 中文字幕系列一区| 日韩高清不卡一区| 99久久夜色精品国产亚洲狼 | 最新亚洲激情| 国产欧美日韩综合一区在线播放| 亚洲毛片在线| 国精品产品一区| 99在线观看免费视频精品观看| 欧美 日韩 国产一区二区在线视频| 国产中文欧美日韩在线| 五月综合激情| 久久精品毛片| 玖玖玖国产精品| 久久精品国产99国产精品| 伊人久久成人| 精品一区二区三区免费看| 999在线观看精品免费不卡网站| 亚洲国产一区二区在线观看| 91亚洲精品视频在线观看 | 国产传媒在线观看| 亚洲一区中文|