亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

關于javascript作用域的常見面試題分享

2019-11-19 16:18:47
字體:
來源:轉載
供稿:網友

本文主要給大家分享了關于javascript作用域面試題的相關內容,分享出來供大家參考學習,下面來一起看看吧。

一、作用域:

在了解作用域之前,首先需要明白一些基礎概念:

每一個變量、函數都有其作用的范圍,超出作用不得使用,這個叫做作用域。

二、全局變量、局部變量:

1.全局變量:

     (1)在全局范圍內聲明的變量,如var a=1;

     (2)只有賦值沒有聲明的值,如a=2; (注:如果a=2在函數環境中,也是全局變量)

2.局部變量:

      寫入函數中的變量,叫做局部變量。

3.作用:

     (1)程序的安全。

     (2)內存的釋放。

三、作用域鏈:

查找量的過程。先找自己局部環境有沒有聲明或者是函數,如果有,則查看聲明有無賦值或者是函數的內容,如果沒有,則向上一級查找。

四、預解析順序:

每個程序都要做的工作,程序開始先預解析語法,標點符號是否有誤,解析內存是否可容納,解析變量……直到解析無誤了,才開始按正常的流程順序走。試想一下,如果沒有預解析順序,直接按流程順序走,可能程序執行到最后一個函數,發現了語法錯誤,才開始報錯,那性能要有多差??!

順序內容:

      1.文件內引用的<script>塊依次解析,從上到下連成一片。

      2.每個script塊內部的var(注意:只解析變量名,不解析值,如var a=2;將var a解析在環境的開頭,并不解析后面的值,只有當程序執行到var a=2這行時,才會給變量賦值),function解析到本塊的開頭。

      3.依次解析每個環境,將var,function解析到環境的開頭。

五、應用場景(一些常見的作用域相關的面試題):

var a="aa";function test(){ alert(a);//undefined,函數執行后,在函數環境內,var a會預解析,當彈出a時,首先先找本層環境內有無聲明,發現有。但是代碼沒有執行到賦值,所以結果是undefined。 var a="bb";//var a會預解析在函數開頭,執行到這行才進行賦值 alert(a);//“bb”}test();alert(a);//"aa" 找全局環境下的聲明,找到了var a="aa"
var a="aa";function test(){ alert(a);//“aa”,函數執行后,在函數環境內,沒有找到本層環境關于a的聲明,所以開始向上一層環境查找。 a="bb";//執行到這行開始改變全局a的量}test();alert(a);//"bb" 全局環境的a在函數執行時已經被改變
function test(){  b();//函數b會被預解析,因此可以調用,執行了輸出1; var a=1; function b(){  console.log(1);  console.log(a);//undefined  var a=2; }}test();

六、總結:

要搞清楚一個變量的作用域,重點是搞清楚預解析順序,然后再判斷作用域的范圍,這些都是有套路可言:先找本層環境有無聲明,有的話,看是否進行了賦值;只有聲明沒有執行賦值,就是undefined。沒有聲明也沒有賦值的話,就再向上一層查找,直到找到為止。如果所有的執行環境都沒有找到,那么控制臺就會報錯變量找不到。

函數的話就更簡單了:找本層環境是否有預解析的函數,有的話即可執行。沒有的話還是向上查找。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品视频va| 久久精品国产欧美激情| 97精品国产97久久久久久春色| 91视频国产精品| 亚洲国产精久久久久久久| 亚洲美女免费精品视频在线观看| 亚洲色图日韩av| 精品日本美女福利在线观看| 91精品国产91| 成人免费xxxxx在线观看| 国产在线视频一区| 国产精品吊钟奶在线| 亚洲xxxx妇黄裸体| 尤物yw午夜国产精品视频| 成人国产精品久久久久久亚洲| 欧美精品中文字幕一区| 98精品国产自产在线观看| 在线成人免费网站| 岛国av一区二区在线在线观看| 久久视频在线观看免费| 国产精品高清网站| 欧美在线精品免播放器视频| 51精品在线观看| 国产精品亚洲第一区| 亚洲精品久久久久久下一站| 亚洲激情成人网| 欧美日韩亚洲精品一区二区三区| 中文字幕欧美精品日韩中文字幕| 国产精品三级久久久久久电影| 国产成人一区二区三区小说| 亚洲一区亚洲二区亚洲三区| 日韩av在线网| 高清欧美性猛交xxxx黑人猛交| 成人免费福利在线| 亚洲最新av网址| 日韩视频免费中文字幕| 91精品中国老女人| 91久久国产精品91久久性色| 久久九九有精品国产23| 亚洲区中文字幕| 91色在线观看| 国产精品网站大全| 亚洲女在线观看| 91精品国产91久久久久久吃药| 亚洲欧美一区二区精品久久久| 欧美性xxxx极品hd满灌| 精品成人久久av| 国产精品成人国产乱一区| 欧美又大粗又爽又黄大片视频| 欧美日韩中文字幕在线| 亚洲精品一二区| 久久69精品久久久久久国产越南| 亚洲精品福利在线| 国产精品久久久久久亚洲影视| 国产精品专区第二| 26uuu久久噜噜噜噜| 欧美黄色片在线观看| 精品福利樱桃av导航| 色婷婷久久一区二区| 欧美激情女人20p| 国产69久久精品成人看| 亚洲天堂男人天堂女人天堂| 国产午夜一区二区| 亚洲www永久成人夜色| 久久国产精品久久久久久久久久| 欧美激情一级精品国产| 欧美成人午夜视频| 欧美日韩亚洲系列| 亚洲第一福利网| 国产欧美一区二区三区久久| 92国产精品久久久久首页| 亚洲精品短视频| 色综合伊人色综合网站| 亚洲欧美日韩国产精品| 国产一区二区av| 九九热在线精品视频| 2024亚洲男人天堂| 国产成人av网址| 国产欧美日韩中文字幕在线| 久久不射电影网| 亚洲专区中文字幕| 中文欧美日本在线资源| 久久天天躁狠狠躁老女人| 欧美性xxxxxxx| 91在线看www| 久久免费国产精品1| 国产一区二区av| 一本色道久久88综合亚洲精品ⅰ| 国产日本欧美在线观看| 国产午夜精品理论片a级探花| 欧美国产第一页| 成人精品在线视频| 亚洲精品日韩欧美| 91精品国产99久久久久久| 欧美日韩亚洲一区二区| 亚洲欧美国产另类| 欧美在线视频观看| 在线观看日韩欧美| 欧美成人免费网| 国产精品久久久久999| 亚洲字幕一区二区| 精品露脸国产偷人在视频| 欧美亚洲成人免费| 亚洲精品国产欧美| 国产91精品网站| 91精品国产色综合久久不卡98| 91探花福利精品国产自产在线| 亚洲精品xxxx| 中文字幕亚洲无线码在线一区| 91高清免费视频| 亚洲女人被黑人巨大进入| 青草青草久热精品视频在线网站| 中文字幕日韩av综合精品| 久久久国产一区二区三区| 亚洲精品久久视频| 亚洲色图综合久久| 日韩美女视频免费看| 久久久精品久久| 久久久久久久久久国产精品| 亚洲bt欧美bt日本bt| 成人免费视频a| 91chinesevideo永久地址| 国产999精品视频| 亚洲国产美女精品久久久久∴| 2019中文字幕在线观看| 亚洲一区二区三区乱码aⅴ| 国色天香2019中文字幕在线观看| 欧美黄色性视频| 亚洲免费一级电影| 亚洲深夜福利视频| 亚洲成色777777女色窝| 欧美午夜视频在线观看| 欧美一级淫片丝袜脚交| 久久久av网站| 亚洲国产精品专区久久| 久久精品91久久久久久再现| 亚洲精品xxx| 日本精品视频网站| 51视频国产精品一区二区| 欧美日韩在线免费观看| 国产精品第一页在线| 91精品久久久久久久久青青| 九九热视频这里只有精品| 91国产一区在线| 日韩精品中文字幕视频在线| 91免费高清视频| 在线播放日韩精品| 全亚洲最色的网站在线观看| 久久久亚洲精选| 欧美高清视频在线播放| 亚洲石原莉奈一区二区在线观看| 精品性高朝久久久久久久| 性欧美亚洲xxxx乳在线观看| 国产精品成人观看视频国产奇米| 久久夜精品va视频免费观看| 国产亚洲视频在线观看| 国产视频精品免费播放| 亚洲第一页中文字幕| 91视频88av| 欧美一级片免费在线| 成人欧美一区二区三区在线湿哒哒| 夜夜嗨av色综合久久久综合网| 国产精品电影久久久久电影网| 日本久久中文字幕|