我一直在使用javascript & jQuery一個月。但我仍然沒有得到使用var
變量和沒有聲明var
之間的區別。在javascript中爲什麼我們使用var來聲明變量?
var data = 10;
data = 10;
以上兩種說法有什麼區別?爲什麼?請詳細向我解釋。
我一直在使用javascript & jQuery一個月。但我仍然沒有得到使用var
變量和沒有聲明var
之間的區別。在javascript中爲什麼我們使用var來聲明變量?
var data = 10;
data = 10;
以上兩種說法有什麼區別?爲什麼?請詳細向我解釋。
聲明的變量,而不var
關鍵字將使全球性的,這意味着它將適用於所有模塊中已聲明的功能和對象。不用說,這會造成很多麻煩,應該避免。
聲明與var
關鍵字變量將限制變量它在聲明範圍內的範圍。
聲明一個不帶var關鍵字的變量會使其成爲全球。真? – dsharew 2015-03-02 09:39:42
我們使用它,因爲它是一個語言結構,以提高可讀性,從「舊的」動態類型的莖語言(如初學者的所有符號指令代碼,又名鹼性。)
變種類似,從語法角度看基本的「暗淡」的語句。
它被認爲是使用它由於事實,如果它是一個範圍內省略它會傳播到全球範圍內最好的做法(雖然有,如果在全球範圍內使用絕對沒有任何影響。)
區別在於用「var」關鍵字在當前範圍中聲明該變量。在頂級範圍(窗口)中,您當然不會注意到太多差異。我認爲,一個例子是使更清楚:
// declares "data" on window scope
var data = 10;
function foo() {
// overwrites the "global" data to 20.
data = 20;
// declares a scoped variable "scopedData" inside of this function and sets it to 25
var scopedData = 25;
alert(data);
alert(scopedData);
}
// scoped data is undefined here because it was scoped to the function.
alert(scopedData);
另外請注意,所有的「變種」的聲明必須包含在其範圍內,並且執行向上移動將開始的範圍是獨一無二的。 請參見本文的詳細信息:http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html
首先聲明一個變量並分配值。在第二行中,您只需將新值賦給已存在的變量,該變量在第二行data = 10中保存數據 – virendrao 2015-03-02 09:35:07
;你只是重新分配數據變量來保存價值10 .. – Lucky 2015-03-02 09:36:39
你試過谷歌這個? [使用問題的標題可返回相當多的相關結果。](https://www.google.com/search?q=In+javascript+why+we+use+var+for+declaring+variable%3F&ie = utf-8&oe = utf-8&gws_rd = cr&ei = Zi_0VMX_Dcr3UInSgugO) – 2015-03-02 09:37:33