懂色av懂色av粉嫩av_精品人妻伦九区久久aaa片_中文字幕在线有码_免费a在线观看播放_欧美自拍偷拍网_国产黑丝一区二区_国内精品免费视频_日韩免费成人av_国产97免费视频_日本一卡二卡在线

在線咨詢
QQ咨詢
服務熱線

020-85201717

13725302004

業務微信

微信開發

TOP

網站前端開發過程常見問題

發布時間:2021-01-28 瀏覽:

Java中的作用域是js中比較重要的一部分,也是大多數面試中必考的內容,我們有必要更加深入的了解下js中作用域。


看一個栗子


仔細閱讀以下Java代碼,你覺得運行結果會是什么呢?是 1 還是2?



不是1,也不是2,答案卻是是undefined.


為什么會產生這個讓人意外的結果呢?我們得來看下js中的預解析。


Java預解析


Java在瀏覽器中運行的過程分為兩個階段預解析階段 執行階段,在Java引擎對Java代碼進行執行之前,需要進行預先處理,然后再對處理后的代碼進行執行。


我們平時書寫的Java代碼并不是Java執行的代碼(V8引擎讀取一行執行一行這種理解是錯誤的),它需要預解釋后,再由引擎進行執行.


具體的解釋過程涉及到瀏覽器內核的技術不屬于前端領域,不過我們可以淺顯的理解一下V8在處理Java的一般過程:


以上例中的var a = 2;為例,我們一般人的理解為聲明了一個值為2的變量a,但是在Java引擎處理時卻分為了兩個步驟:


1. 讀取var a后,在當前作用域中查找是否有相同聲明,如果沒有就在當前作用域集合中創建一個名為a的變量,否則忽略此聲明繼續進行解析.


2. 接下來,V8引擎會處理a = 2的賦值操作,首先會詢問當前作用域中是否有名為a的變量,如果有進行賦值,否則繼續向上級作用域詢問.


Java執行環境


我們上面提到的所謂java預解釋正是創建函數的執行環境(又稱“執行上下文”),只有搞定了java的執行環境我們才能搞清楚一段代碼在執行過后為什么產生這樣的結果。


我們用一段偽代碼表示創立的執行環境



作用域鏈(scopeChain)包括下面提到的變量對象(variableObject)和所有父級執行上下文中的變量對象.


變量對象(variableObject)是與執行上下文相關的數據作用域,一個與上下文相關的特殊對象,其中存儲了在上下文中定義的變量和函數聲明:


· 變量


· 函數聲明


· 函數的形參


在有了這些基板概念之后我們可以梳理一下js引擎創建執行的過程:


· 創建階段


· 創建Scope chain


· 創建variableObject


· 設置this


· 執行階段


· 變量的值、函數的引用


· 執行代碼


而變量對象的創建細節如下:


· 根據函數的參數,創建并初始化arguments object


· 掃描函數內部代碼,查找函數聲明(Function declaration)


· 對于所有找到的函數聲明,將函數名和函數引用存入變量對象中


· 如果變量對象中已經有同名的函數,那么就進行覆蓋


· 掃描函數內部代碼,查找變量聲明(Variable declaration)


· 對于所有找到的變量聲明,將變量名存入變量對象中,并初始化為"undefined"


· 如果變量名稱跟已經聲明的形式參數或函數相同,則變量聲明不會干擾已經存在的這類屬性


變量提升


正是由于以上的處理,產生了大家熟知的Java中的變量提升,具體以上代碼的執行過程如以下偽代碼所示:


e9b1f6e788084169a327fc6341d534fe

ed2b77539d574e7db442dc59ff85fb16

e992ab74b608433ba400c4d1a53afc14






我們可以明顯看到,a變量在預解釋階段已經被賦值undefined,在執行階段js是自上而下單線執行,當console.log(a)執行之時,a=2還沒有被執行,a變量的值便是預處理階段被賦予的undefined,


函數聲明與函數表達式


我們看到,在編譯器處理階段,除了被var聲明的變量會有變量提升這一特性之外,函數也會產生這一特性,但是函數聲明與函數表達式兩種范式創建的函數卻表現出不同的結果.


我們先看一個實例,運行以下代碼



f成功被打印出來,而g函數出現了類型錯誤,這是什么原因呢?



我們看到,在預解釋階段函數聲明的f是被指向了正確的函數得以執行,而函數表達式g被賦予undefined,undefined無法被當作函數執行因此報錯g is not a function.


沖突處理


通常情況下我們不會將同一變量變量重復聲明,但是出現了類似情況后,編譯器會如何處理這些沖突呢?


1. 變量之間沖突


執行以下函數:



結果顯而易見,后聲明變量值覆蓋前者的值


  1. 函數之間沖突



結果同變量沖突,后者覆蓋前者.


2. 函數與變量之間沖突



結果如下,函數聲明將覆蓋變量聲明


[Function: f]


ES6中的let


在ES6中出現了兩個最新的聲明語法let與const,我們以let為例,進行測試看看與var的區別.



這段代碼直接報錯顯示未定義,let與const擁有類似的特性,阻止了變量提升,當代碼執行到console.log(a)時,執行換將中a還從未被定義,因此產生了錯誤.返回。

懂色av懂色av粉嫩av_精品人妻伦九区久久aaa片_中文字幕在线有码_免费a在线观看播放_欧美自拍偷拍网_国产黑丝一区二区_国内精品免费视频_日韩免费成人av_国产97免费视频_日本一卡二卡在线
久久久99精品免费观看不卡| 欧美日韩精品欧美日韩精品一综合| 精品污污网站免费看| 综合电影一区二区三区| 国产一区免费电影| 国产视频123区| 久久久噜噜噜久久人人看| 免费黄网站欧美| 97香蕉碰碰人妻国产欧美| 欧美日韩综合在线免费观看| 亚洲综合激情另类小说区| 91麻豆精东视频| 色噜噜狠狠色综合欧洲selulu| 欧美国产欧美综合| 国产盗摄精品一区二区三区在线| 青青青视频在线免费观看| 国产农村妇女毛片精品久久麻豆 | 豆国产96在线|亚洲| 91香蕉视频网| 国产精品久久久久永久免费观看| 成人精品国产免费网站| 中文字幕影音先锋| 一区二区三区日韩欧美精品| 中国特级黄色片| 欧美一级二级三级蜜桃| 毛片基地黄久久久久久天堂| caopeng视频| 国产日韩在线不卡| 成人免费毛片aaaaa**| 91福利国产成人精品照片| 亚洲黄色录像片| 亚洲av成人精品一区二区三区 | 欧美日韩另类国产亚洲欧美一级| 亚洲一区自拍偷拍| 国产又黄又粗又猛又爽的视频| 欧美大黄免费观看| 国产精品18久久久久久久久 | 久久国内精品自在自线400部| 日本激情小视频| 国产精品免费视频网站| 中文字幕一二三区| 日韩视频在线一区二区| 精品无码三级在线观看视频 | 日韩av二区在线播放| 中文字幕被公侵犯的漂亮人妻| 国产欧美一二三区| 91在线精品一区二区三区| 欧美精品精品一区| 精品在线观看视频| 国产va在线播放| 亚洲不卡一区二区三区| 五月婷婷综合在线| 色欲狠狠躁天天躁无码中文字幕 | 亚洲自拍偷拍一区二区| 国产片一区二区| 最好看的中文字幕| 欧美成人女星排名| 岛国一区二区在线观看| 欧美丰满嫩嫩电影| 国产伦精品一区二区三区在线观看| 色哟哟一区二区在线观看| 偷拍亚洲欧洲综合| 污污的视频在线免费观看| 亚洲国产美女搞黄色| 欧美人与禽zoz0善交| 亚洲精选视频免费看| 国产精久久一区二区三区| 亚洲精品videosex极品| 久久久久亚洲av成人无码电影| 亚洲欧美日韩一区二区三区在线观看 | 日韩av中文字幕一区二区| 国产一区在线观看免费| 亚洲午夜国产一区99re久久| 91麻豆制片厂| 午夜影视日本亚洲欧洲精品| 亚洲av无一区二区三区| 日韩成人一级片| 欧产日产国产v| 蜜桃91丨九色丨蝌蚪91桃色| 色婷婷国产精品| 国产在线国偷精品产拍免费yy| 欧美日本一道本| 成人免费观看男女羞羞视频| 精品日韩欧美在线| 亚洲AV无码久久精品国产一区| 久久精品一区二区| 国产69视频在线观看| 一色桃子久久精品亚洲| 影音先锋制服丝袜| 肉色丝袜一区二区| 在线观看视频91| 国产福利一区在线| 精品少妇一区二区三区在线播放 | 欧美日本一区二区三区| 成人av资源站| 国产日本一区二区| 免费a级黄色片| 亚洲午夜激情网页| 在线观看区一区二| 国产成人精品亚洲日本在线桃色| 精品国产免费一区二区三区四区 | 美国黑人一级大黄| 日韩精品电影在线观看| 从欧美一区二区三区| 日韩视频在线你懂得| 香蕉在线观看视频| 亚洲麻豆国产自偷在线| 黄色香蕉视频在线观看| 精品一区二区三区免费| 日韩精品一区二区三区四区视频| 国产xxx在线观看| 亚洲男人的天堂av| 欧美做爰爽爽爽爽爽爽| 精品伊人久久久久7777人| 日韩欧美一级精品久久| 波多野结衣一二三区| 亚洲国产一区二区视频| 欧美性感一类影片在线播放| av中文字幕不卡| 亚洲欧洲成人精品av97| 久久国产精品国语对白| 国产99精品在线观看| 中文字幕乱码久久午夜不卡| 婷婷综合在线视频| 国产精品资源网| 国产婷婷色一区二区三区四区 | 成人自拍视频在线| 国产欧美久久久精品影院| 免费成人深夜蜜桃视频| 国产成人精品免费一区二区| 中文成人av在线| 永久久久久久久| 97久久超碰国产精品| 最新国产成人在线观看| 九九热久久免费视频| 经典三级一区二区| 日韩欧美成人激情| 在线免费观看麻豆| 青草av.久久免费一区| 91精品久久久久久久久99蜜臂| 中文字幕永久免费| 爽爽淫人综合网网站| 精品视频一区三区九区| wwwxxxx在线观看| 一区二区三区在线观看国产| 亚洲色图综合区| 成人av在线影院| 自拍偷在线精品自拍偷无码专区| 三上悠亚作品在线观看| 韩国三级在线一区| 国产精品美日韩| 91狠狠综合久久久| 国产成人精品亚洲日本在线桃色| 欧美极品aⅴ影院| 在线这里只有精品| av不卡免费在线观看| 亚洲情趣在线观看| 在线观看视频一区二区欧美日韩| 国产视频精品视频| 视频在线在亚洲| 日韩欧美高清在线| 国产又粗又猛又爽又黄av| 成人黄色网址在线观看| 亚洲精选视频在线| 欧美老女人在线| 西西大胆午夜视频| 激情综合色播激情啊| 国产人伦精品一区二区| 色伊人久久综合中文字幕| 国产无套精品一区二区三区| 免费久久精品视频| 国产午夜精品一区二区三区嫩草 | 成人一区二区三区视频| 国产精品第五页| 在线观看国产精品网站| 无遮挡aaaaa大片免费看| 国产一区不卡视频| 国产精品久久精品日日| 欧美系列日韩一区| xxxx日本黄色| 丰满放荡岳乱妇91ww| 一区二区三区四区精品在线视频| 欧美巨大另类极品videosbest | 国产又粗又长又爽| 狠狠网亚洲精品| 国产精品欧美久久久久无广告| 欧美日韩mp4| 公肉吊粗大爽色翁浪妇视频| 国产激情偷乱视频一区二区三区| 亚洲色图欧美激情| 日韩欧美色综合网站| 97精品在线播放| 中国老熟女重囗味hdxx| 美女高潮久久久| 国产精品狼人久久影院观看方式| 欧美性猛交xxxx乱大交退制版| 野花社区视频在线观看| 丰满白嫩尤物一区二区| 日本一区中文字幕| 国产精品国产a级|