javaScript全域性作用域和區域性作用域

2021-09-05 12:32:02 字數 1126 閱讀 4397

1.全域性作用域

(1)最外層函式和最外層函式外通過var來定義的變數(全域性變數、全域性函式)

(2)在函式內部不通過var定義的變數也稱為全域性變數

2.在es5中函式是區分全域性和區域性唯一的**塊

(1)在函式內通過var來定義的變數,以及內部定義的函式

(2)函式的引數具有區域性作用域

function foo(x)

foo();

console.log(x);//報錯:x is not defined

作用域例子:

1.var a = 10;

function foo()

foo();

2.var a = 10;

function foo(a)

foo();

3.var a = 10;

function foo()

foo(a);

4.var a = 10;

function foo(a)

foo(a);

5.var a = 10;

function foo()

foo(a);

a在函式內部提公升,但是賦值不會提公升;

6.var a = 10;

function foo(a)

foo(a);

7.var a = 10;

function foo(a)

foo(a);

console.log(a);//10

8.var a = 10;

function foo(a)

foo(a);

console.log(a);//10

9.var a = 10;

function foo()

foo(a);

console.log(a);//10

//宣告提公升,a為區域性變數

10.var a=10;

function foo()

foo(a);

console.log(a);//20

11.var a=10;

function foo()

foo(a);

console.log(a);//20

foo執行後,a相當於重新賦值了20;

Python作用域 全域性作用域 區域性作用域

在python中,每個函式都會建立乙個作用域。pythonistas也可能稱函式擁有它們自己的命名空間 namespace 這意味著當在函式體裡遇到變數名 時,python首先在該函式的命名空間中查詢,python包含了一些讓我們檢視命名空間的函式。讓我們寫乙個簡單的函式來探查一下local和glo...

JavaScript 作用域,作用域鏈詳解

前言 es5缺少區域性作用域的概念,而es6已經補充了es6的概念。一 作用域 把作用域比作乙個個封閉的方塊,在相同乙個封閉方塊中的物體可以相互接觸,但是無法和別的封閉方塊中的物體直接接觸。二 全域性作用域 這個就是簡單的全域性作用域。全域性作用域相當於乙個最大的封閉空間,他裡面還有乙個個小的封閉空...

全域性作用域 塊級作用域

瀏覽器環境有一頂層物件window,window的屬性和var的全域性變數等價。如果用var設定了window物件的內建屬性作為變數,內建屬性值將會被覆蓋。如果是window物件的內建屬性,輸出預設值 非內建則輸出underfined。console.log window.name window.n...