關於JS作用域問題,是面試的時候面試官樂此不疲的面試題,有時候確實是令人抓狂,下面這篇文章主要給大家分享了關於javascript作用域的一些常見面試題,需要的朋友可以參考借鑒,下面來一起看看吧。
推薦相關文章:2020年最全js面試題整理(最新)
本文主要跟大家分享了關於javascript作用域面試題的相關內容,分享出來供大家參考學習,下面來一起看看吧。
一、作用域:
在了解作用域之前,首先要先明白一些基礎概念:
#每一個變數、函數都有其作用的範圍,超出作用不得使用,這個叫做作用域。
二、全域變數、局部變數:
1.全域變數:
(1)在全域範圍內宣告的變量,如var a=1;
(2)只有賦值沒有宣告的值,如a= 2;
(註:如果a=2在函數環境中,也是全域變數)
2.局部變數:
3.功能:
三、作用域鏈:
找出量的過程。先找自己局部環境有沒有宣告或是函數,如果有,請看宣告有無賦值或是函數的內容,如果沒有,就往上一級尋找。四、預解析順序:
每個程式都要做的工作,程式開始先預解析語法,標點符號是否有誤,解析記憶體是否可容納,解析變數…直到解析無誤了,才開始按正常的流程順序走。試想一下,如果沒有預解析順序,直接按流程順序走,可能程式執行到最後一個函數,發現了語法錯誤,才開始報錯,那效能要有多差啊!
順序內容: