作用域及執行環境

2021-09-13 03:36:34 字數 459 閱讀 7905

每乙個函式都有自己的執行環境。**在乙個環境中執行時,會有乙個作用域鏈來保證執行環境對變數和函式有序的訪問。有序是指:保證每個環境在訪問時,先在自己的變數物件(環境)裡搜尋變數和函式,搜尋不到時,再一級一級的往上查詢變數和函式,直到查詢到了全域性變數物件(例如window);但是任何環境都不能向下級中搜尋變數和函式。

舉個栗子:

var a=10;

function numberone()

numbertwo()

console.log(a);//10

console.log(b);//20

console.log(c);//報錯,c沒有被定義

}numberone();

由於變數c是在內部函式被定義,因此外部環境不能訪問到變數c。

內部環境可以通過作用域鏈訪問所有的外部環境,但是外部環境不能訪問內部環境中的任何變數和函式。

執行環境及作用域

1.變數 基本型別和引用型別的值 可以直接操作儲存在基本資料型別變數中的值 基本資料型別值在記憶體中佔據固定大小的空間,因此儲存在棧中 操作引用資料型別,實際上是操作物件的引用,而不是直接操作記憶體物件 因為js不允許直接訪問記憶體中的位置 引用資料型別的值實際上是放在記憶體中的物件。但是給物件新增...

JavaScript執行環境及作用域

執行環境也稱環境,定義了變數或函式有權訪問的其他資料,決定了他們各自的行為。每乙個執行環境中都有乙個與之相關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。執行流機制 每乙個函式都有自己的執行環境,當執行流進入乙個函式時,函式環境就會被推入乙個環境棧中,而在函式執行之後,棧將其執行環境彈...

js 執行環境及作用域

執行環境定義了變數或函式有權訪問的其他資料,決定了他們各自的行為。每個執行環境都有乙個與之關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。每個函式都有自己的執行環境。當執行流進入乙個函式時,函式的環境會被推入乙個環境棧中。而在函式執行之後,棧將其環境彈出,把控制權返回給之前的執行環境。...