您好,登錄后才能下訂單哦!
ecmascript使用變量是否需要聲明,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
ecmascript使用變量不需要聲明。在ecmascript中,使用變量之前不必聲明,變量聲明不是必須的;原因:ECMAScript的解釋程序遇到未聲明過的標識符時,會用該變量名創建一個全局變量,并將其初始化為指定的值。
本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
變量名需要遵守一些簡單的規則。
聲明變量
ECMAScript 中的變量是用 var 運算符(variable 的縮寫)加變量名定義的。例如:
var test = "hi";
在這個例子中,聲明了變量 test,并把它的值初始化為 "hi"(字符串)。由于 ECMAScript 是弱類型的,所以解釋程序會為 test 自動創建一個字符串值,無需明確的類型聲明。
還可以用一個 var 語句定義兩個或多個變量:
var test1 = "hi", test2 = "hello";
前面的代碼定義了變量 test1,初始值為 "hi",還定義了變量 test2,初始值為 "hello"。
不過用同一個 var 語句定義的變量不必具有相同的類型,如下所示:
var test = "hi", age = 25;
這個例子除了(再次)定義 test 外,還定義了 age,并把它初始化為 25。即使 test 和 age 屬于兩種不同的數據類型,在 ECMAScript 中這樣定義也是完全合法的。
與 Java 不同,ECMAScript 中的變量并不一定要初始化(它們是在幕后初始化的,將在后面討論這一點)。因此,下面這一行代碼也是有效的:
var test;
此外,與 Java 不同的還有變量可以存放不同類型的值。這是弱類型變量的優勢。例如,可以把變量初始化為字符串類型的值,之后把它設置為數字值,如下所示:
var test = "hi"; alert(test); test = 55; alert(test);
這段代碼將毫無問題地輸出字符串值和數字值。但是,如前所述,使用變量時,好的編碼習慣是始終存放相同類型的值。
命名變量
變量名需要遵守兩條簡單的規則:
第一個字符必須是字母、下劃線(_)或美元符號($)
余下的字符可以是下劃線、美元符號或任何字母或數字字符
下面的變量都是合法的:
var test; var $test; var $1; var _$te$t2;
著名的變量命名規則
只是因為變量名的語法正確,并不意味著就該使用它們。變量還應遵守以下某條著名的命名規則:
Camel 標記法
首字母是小寫的,接下來的字母都以大寫字符開頭。例如:
var myTestValue = 0, mySecondValue = "hi";
Pascal 標記法
首字母是大寫的,接下來的字母都以大寫字符開頭。例如:
var MyTestValue = 0, MySecondValue = "hi";
匈牙利類型標記法
在以 Pascal 標記法命名的變量前附加一個小寫字母(或小寫字母序列),說明該變量的類型。例如,i 表示整數,s 表示字符串,如下所示“
var iMyTestValue = 0, sMySecondValue = "hi";
本教程采用了這些前綴,以使示例代碼更易閱讀:
類型 | 前綴 | 示例 |
---|---|---|
數組 | a | aValues |
布爾型 | b | bFound |
浮點型(數字) | f | fValue |
函數 | fn | fnMethod |
整型(數字) | i | iValue |
對象 | o | oType |
正則表達式 | re | rePattern |
字符串 | s | sValue |
變型(可以是任何類型) | v | vValue |
ECMAScript 另一個有趣的方面(也是與大多數程序設計語言的主要區別),是在使用變量之前不必聲明。例如:
var sTest = "hello "; sTest2 = sTest + "world"; alert(sTest2);
在上面的代碼中,首先,sTest 被聲明為字符串類型的值 "hello"。接下來的一行,用變量 sTest2 把 sTest 與字符串 "world" 連在一起。變量 sTest2 并沒有用 var 運算符定義,這里只是插入了它,就像已經聲明過它一樣。
ECMAScript 的解釋程序遇到未聲明過的標識符時,用該變量名創建一個全局變量,并將其初始化為指定的值。
這是該語言的便利之處,不過如果不能緊密跟蹤變量,這樣做也很危險。最好的習慣是像使用其他程序設計語言一樣,總是聲明所有變量。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。