JavaScript中的變量聲明方式有三種,分別是var、let和const。其中var在ES6之前是最常用的聲明方式,而在ES6之后被let和const取代。本文將會(huì)詳細(xì)講解var聲明方式。
var聲明的變量可以是全局的或函數(shù)內(nèi)的局部變量,其作用域和生命周期與函數(shù)綁定。var聲明的變量可以被重復(fù)聲明,但后面的聲明不會(huì)覆蓋前面的聲明。
var x = 5; var x = 10; console.log(x); // Output: 10
var聲明的變量沒有塊級作用域,在函數(shù){}中聲明的變量在函數(shù)外依然可以訪問。
function example() { var x = 5; if (true) { var x = 10; } console.log(x); // Output: 10 } example();
var聲明的變量在聲明前可以被使用,值為undefined。
console.log(x); // Output: undefined var x = 5;
使用var聲明的變量可以被刪除。
var x = 5; delete x; console.log(x); //Output: undefined
var聲明的變量可以使用全局變量window訪問,在瀏覽器中運(yùn)行時(shí),全局變量等同于window對象的屬性。
var x = 5; console.log(window.x); //Output: 5
在函數(shù)內(nèi)部聲明的var變量,如果沒有使用var關(guān)鍵字聲明,會(huì)被自動(dòng)提升為全局變量。
function example() { y = 5; } example(); console.log(y); // Output: 5
總結(jié):
- 使用var聲明的變量可以被重復(fù)聲明。
- var聲明的變量沒有塊級作用域,在函數(shù){}中聲明的變量在函數(shù)外依然可以訪問。
- var聲明的變量在聲明前可以被使用,值為undefined。
- 使用var聲明的變量可以被刪除。
- var聲明的變量可以使用全局變量window訪問。
- 在函數(shù)內(nèi)部聲明的var變量,如果沒有使用var關(guān)鍵字聲明,會(huì)被自動(dòng)提升為全局變量。