Js變數的作用域

2021-09-29 06:35:25 字數 773 閱讀 4321

根據作用域的不同分為:

1.全域性變數

2.區域性變數

var a=

100;

//全域性

function

show

(a)show(10

)

console.

log(a)

;//此時的a輸出的是100,原因是這個a是全域性變數

<

/script>

var a=

100;

function

show

(a)show(10

);

console.

log(a)

;//此時的a輸出會報錯,訪問不到函式裡面的a,因為函式在呼叫的那一刻函式就被**了

<

/script>

if(

true

)else

console.

log(a)

;//輸出結果為10

console.

log(b)

;//underfined

//現在是a,b都是全部變數,因為在es5中沒有塊級作用域;

<

/script>

建議:優先使用區域性變數,因為全域性變數生命週期更長(和頁面的生命週期一樣),占用記憶體時間較長,區域性變數使用完畢就可以等待**,更加合理。

JS變數作用域

先明確一點 討論作用域,討論的是非物件成員的變數。在函式以及自定義物件之外宣告的變數,具有全域性作用域 1.瀏覽器會建立乙個window物件,window的所有屬性,都具有全域性作用域 2.反過來,具有全域性作用域的變數,都是window的屬性 3.具有全域性作用域的變數,任何位置都可以訪問 通過上...

js 變數 作用域

一 基本型別與引用型別 針對引用型別值時,複製的只是乙個指標,複製操作結束後,兩個變數實際上將引用同乙個物件 如果是按引用傳遞的話,那麼p就會被自動修改為指向其name屬性為 greg 的新物件,但是由下圖分析可知,引數傳遞是按值傳遞 二 執行環境和作用域 var color blue functi...

js的變數作用域 ,變數提公升

function 結果 undefined 10 等同於下面 var a undefined 定義全域性變數 function 分析 1.在產生乙個作用域的時候,會預編譯一次裡面的變數,其中的動作是將所有的變數名,函式名,提前定義,然後在賦予當前的變數的所在作用域,執行。2.變數名的定義會覆蓋函式名...