(十八)作用域 作用域鏈 查詢變數案例分析

2022-09-15 00:57:18 字數 1102 閱讀 7502

作用域由建立時候決定的並不是執行時候

);//輸出是函式本身;區域性作用域到全劇作用域查詢

var obj =

}console.log(obj.fn)//undefined;

var a = 2;

function fn(

)fn(

); //a is undefined

此處存在變數提公升;但是變數宣告之後並沒有直接賦值而是undefined;預處理順序:宣告a;console出a;然後賦值a

var a = 2;

function fn(

)fn(

); //2

function b(

)var b;

console.log(typeof b)

; //function

變數先預處理;再是函式預處理

var c = 1;

function c(c)

c(2)

; //此處會報錯c is not a function;

函式並不會執行整個順序是:宣告變數c;宣告函式c;執行變數賦值此時c已經是2;因此執行c(2)會報錯。

預處理(**執行之前):
函式與變數的區別

作用域,變數作用域,作用域鏈知識

第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...

作用域 作用域鏈

理解 就是一塊 地盤 乙個 段所在的區域 它是靜態的 相對於上下文物件 在編寫 時就確定了 分類全域性作用域 函式作用域 沒有塊作用域 es6有了 作用隔離變數,不同作用域下同名變數不會有衝突 區別1全域性作用域之外,每個函式都會建立自己的作用域,作用域在函式定義時就已經確定了。而不是在函式呼叫時 ...

作用域和作用域鏈

全域性作用域 全域性的變數執行環境 函式作用域 函式內部的變數執行環境 每個函式都有自己的執行環境,當執行流進入乙個函式時,函式的環境就會被推入乙個環境棧中。函式執行之後,棧將環境彈出,把控制權返回給之前的執行環境。全域性作用域只要頁面不解除安裝,就一直存在,不釋放。函式每次在呼叫時,都會形成乙個作...