js裡的區域性變數與全域性變數以及變數提公升(var)

2021-10-05 07:45:51 字數 613 閱讀 3948

全域性變數:在全域性範圍內定義的變數,或者在函式裡不適用var定義的變數。

區域性變數:在函式裡用var定義的變數

變數提公升:變數宣告總是會被直譯器「提公升」到函式體的頂部(頂部的提公升變數不會給他賦值),也就是提前裝載。

區域性變數會覆蓋全域性變數

html的事件處理也是可以用js的全域性變數

js只認函式體的花括號,不認其他如if的花括號,所以只有在函式體裡的var才是區域性變數,也就是說,區域性變數只要不出函式體花括號都可以用。所以var沒有塊範圍,但let有

如果使用var定義變數,程式會強制定義乙個新變數

如果沒有使用var的話,如果全面有同名的全域性變數,就是給前面的賦值,沒有就定義乙個新變數

var定義的變數缺省會把它作為window裡的乙個屬性(全域性的函式,全域性的變數都是屬於window的屬性的)可以window.變數輸出

let不會把它作為window的屬性

var可以使用window屬性輸出,更加靈活,如想要輸出index+i時,就可以用window["index"+i]來輸出

window.index和window["index"]是一樣的。

js全域性變數與區域性變數

在函式內部定義的就是區域性的,否則就是全域性的 如果函式內的變數沒有var宣告會直接影響全域性的 為什麼沒有var是全域性的?是因為,在js中,如果某個變數沒有var宣告,會自動到上一層作用域中去找這個變數的宣告語句,如果找到,就使用,如果沒有找到,繼續向上查詢,一直查詢到全域性作用域為止,如果全域...

js區域性變數 全域性變數

在js中如果用var來定義乙個變數,如果該變數被定義在function或者其他迴圈體內,則變數為區域性變數,並且該變數不會受到同名全域性變數的影響,也不會影響同名的全域性變數。如果不用var來定義變數而直接拿乙個變數來使用則該變數會被自己定義為全域性變數,無論該變數被定義在任何位置,如果在funct...

全域性變數與區域性變數以及靜態

目錄 全域性變數 靜態全域性變數 區域性變數 靜態區域性變數 1 從分配記憶體空間來看 2 從作用域來看 練習題目1 練習題目2 注意 生存週期與作用域的區別 c 變數有6種作用域 全域性作用域,區域性作用域,語句作用域,類作用域,命名作用域和檔案作用域。區域性變數在棧分配空間。全域性變數 靜態全域...