根據作用域的不同分為:
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.變數名的定義會覆蓋函式名...