什麼是js作用域?
js作用域也就是js識別變數的範圍
1、全域性作用域
2、區域性作用域
3、e6的塊級作用域
全域性作用域:也就是定義在window
下的變數範圍,在任何地方都可以訪問
區域性作用域:是只在函式內部定義的變數範圍
塊級作用域:簡單來說就是用let
和const
在任意的**塊中定義的變數都認為是塊級作用域中的變數,例如在for
迴圈中用let
定義的變數,在if
語句中用let
定義的變數等等(js是沒有塊級作用域的)
注意:盡量不要使用全域性變數,因為容易導致全域性的汙染,命名衝突,對bug
查詢不利
js查詢變數的順序就是作用域鏈
簡單來說,所謂的作用域鏈就是由最內部的作用域往最外部查詢變數的過程 形成的鏈條,就是作用域鏈
JS作用鏈和作用域
js作用域也就是js識別變數的範圍,作用域鏈也就是js查詢變數的順序 先說作用域,js作用域主要包括全域性作用域 區域性作用域和es6的塊級作用域 全域性作用域 也就是定義在window下的變數範圍,在任何地方都可以訪問,區域性作用域 是只在函式內部定義的變數範圍 塊級作用域 簡單來說用let和co...
作用域和作用域鏈
全域性作用域 全域性的變數執行環境 函式作用域 函式內部的變數執行環境 每個函式都有自己的執行環境,當執行流進入乙個函式時,函式的環境就會被推入乙個環境棧中。函式執行之後,棧將環境彈出,把控制權返回給之前的執行環境。全域性作用域只要頁面不解除安裝,就一直存在,不釋放。函式每次在呼叫時,都會形成乙個作...
作用域和作用域鏈
var a 10 function f1 x,y f1 console.log b 此時b輸出5,因為b 5為隱式的全域性變數 在函式外面使用var 宣告的變數都是全域性變數,作用範圍是程式執行的地方.全域性作用域 函式除外 函式的形參是區域性變數 在函式內部,不使用var 定義的變數,叫隱式全域性...