您好,登錄后才能下訂單哦!
這篇文章主要介紹了javascript中var指的是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
var是javascript中內置的一個關鍵字,用于聲明變量,并可選地將其初始化為一個值;語法格式“var varname [=value];”,參數value可以是任何合法的表達式,默認值為“undefined”。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
聲明(創建) JavaScript 變量
在 JavaScript 中創建變量被稱為“聲明”變量。
您可以通過 var
關鍵詞來聲明 JavaScript 變量;var語句聲明一個變量,并可選地將其初始化為一個值:
var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]];
varname:變量名。變量名可以定義為任何合法標識符。
value:變量的初始化值。該值可以是任何合法的表達式。默認值為 undefined。
說明:
變量聲明,無論發生在何處,都在執行任何代碼之前進行處理。用 var 聲明的變量的作用域是它當前的執行上下文,它可以是嵌套的函數,或者對于聲明在任何函數外的變量來說是全局。如果你重新聲明一個 JavaScript 變量,它將不會丟失其值。
當賦值給未聲明的變量, 則執行賦值后, 該變量會被隱式地創建為全局變量(它將成為全局對象的屬性)。
示例:
1、聲明并初始化兩個變量:
var a = 0, b = 0;
給兩個變量賦值成字符串值:
var a = "A"; var b = a; // 等效于: var a, b = a = "A";
留意其中的順序:
var x = y, y = 'A'; console.log(x + y); // undefinedA
在這里,x 和 y 在代碼執行前就已經創建了,而賦值操作發生在創建之后。當"x = y"執行時,y 已經存在,所以不拋出ReferenceError,并且它的值是'undefined'。所以 x 被賦予 undefined 值。然后,y 被賦予'A'。于是,在執行完第一行之后,x === undefined && y === 'A'
才出現了這樣的結果。
聲明和未聲明變量之間的差異是:
1. 聲明變量的作用域限制在其聲明位置的上下文中,而非聲明變量總是全局的。
function x() { y = 1; // 在嚴格模式(strict mode)下會拋出 ReferenceError 異常 var z = 2; } x(); console.log(y); // 打印 "1" console.log(z); // 拋出 ReferenceError: z 未在 x 外部聲明
2. 聲明變量在任何代碼執行前創建,而非聲明變量只有在執行賦值操作的時候才會被創建。
console.log(a); // 拋出ReferenceError。 console.log('still going...'); // 打印"still going..."。 Copy to Clipboard var a; console.log(a); // 打印"undefined"或""(不同瀏覽器實現不同)。 console.log('still going...'); // 打印"still going..."。
3. 聲明變量是它所在上下文環境的不可配置屬性,非聲明變量是可配置的(如非聲明變量可以被刪除)。
var a = 1; b = 2; delete this.a; // 在嚴格模式(strict mode)下拋出TypeError,其他情況下執行失敗并無任何提示。 delete this.b; console.log(a, b); // 拋出ReferenceError。 // 'b'屬性已經被刪除。
由于這三個差異,未能聲明變量將很可能導致意想不到的結果。因此,建議始終聲明變量,無論它們是在函數還是全局作用域內。 而且,在 ECMAScript 5 嚴格模式下,分配給未聲明的變量會引發錯誤。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“javascript中var指的是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。