克服JS奇怪的部分_函數、環境與變數環境

Huang Pei
2 min readApr 24, 2019

--

函數(function)/ 環境(context)/ 變數環境(variable environment)

本筆記出自:JavaScript 全攻略:克服 JS 的奇怪部分

變數環境 (variable environment)

Where the variable variables live

And how they relate to each other in memory

描述你創造變數的位置,還有它在記憶體中和其它變數的關係。

scope: 我們可以在哪裡看到變數。

這裡的每個變數 myVar 都被定義在自己的執行環境,因為它們在函數裡面,每當呼叫函數,就會得到這函數自己的執行環境。

因為變數所處的環境不同,所以雖然 myVar 被宣告3次,但它們是不同的、不一樣的,彼此沒有關聯。

隨意的註記:

一開始創造階段a已經被預設為undefined:____a在b執行前被賦值:function b(){
console.log(a)} // a = 5
var a=5
b();
console.log(a)// a = 5
_____
a在b執行後被賦值:function b(){
console.log(a) //a= undefined,參考外部環境尚未被賦值的a
}
b();
var a=5
console.log(a)// a = 5

--

--

Huang Pei
Huang Pei

Written by Huang Pei

記錄用倉庫,歡迎指正。菜鳥前端,最菜的那種(超能力少女です)。

No responses yet