JS中的作用域鏈

2022-03-11 16:18:33 字數 601 閱讀 1844

在js中資料的宣告方式有兩種:

1、用var宣告,例如:var num = 10;

2、直接宣告,例如:num = 10;

兩種宣告方式在某些情況下是有區別的:

var data = 10;

function fn01()

fn03();

}fn02();

}fn01();

console.log(data);

此時data會是多少呢?

沒錯就是10

當在函式內使用var宣告變數的時候這個變數就是區域性變數,而當不使用var定義變數的時候這個變數就會是全域性變數,當然這個全域性變數也需要看定義的位置,這個全域性變數會一直往上層尋找使用var定義的相同名稱的變數,當尋找到時會替換其原來的變數,如果未找到則會自行定義乙個全域性變數;

var data = 10;

function fn01()

fn03();

}fn02();

}fn01();

console.log(data);

此時的data就是10000了,你學會了嗎?

js 函式中的作用域和作用域鏈

js看似有 塊級作用域 其實它沒有,取而代之的是 函式作用域 在乙個 塊 一對花括號內 定義的變數在 塊外部是不可見的,且在 塊執行結束後被釋放掉。定義在該函式中的引數和變數在函式外部不可見 例子1 而乙個函式內部任何位置定義的變數,在該函式內部任何地方都可見 例子2 解釋二 也就是說,變數不僅在宣...

js 作用域鏈

作用域鏈 作用域鏈就是內部上下文的變數物件vo的列表,作用域鏈用來檢索上下文出現的識別符號,從而保證有序訪問所有變數和函式。乙個作用域鏈包括父級變數物件 variable object 作用域鏈的頂部 函式自身變數vo和活動物件 activation object 當查詢識別符號的時候,會從作用域鏈...

JS作用域和作用域鏈

什麼是js作用域?js作用域也就是js識別變數的範圍 1 全域性作用域 2 區域性作用域 3 e6的塊級作用域 全域性作用域 也就是定義在window下的變數範圍,在任何地方都可以訪問 區域性作用域 是只在函式內部定義的變數範圍 塊級作用域 簡單來說就是用let和const在任意的 塊中定義的變數都...