JS作用域和作用域鏈

2021-10-10 14:24:38 字數 613 閱讀 7484

什麼是js作用域?

js作用域也就是js識別變數的範圍

1、全域性作用域

2、區域性作用域

3、e6的塊級作用域

全域性作用域:也就是定義在window下的變數範圍,在任何地方都可以訪問

區域性作用域:是只在函式內部定義的變數範圍

塊級作用域:簡單來說就是用letconst在任意的**塊中定義的變數都認為是塊級作用域中的變數,例如在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 定義的變數,叫隱式全域性...