中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ecmascript使用變量是否需要聲明

發布時間:2022-01-27 11:35:19 來源:億速云 閱讀:138 作者:柒染 欄目:web開發

ecmascript使用變量是否需要聲明,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

ecmascript使用變量不需要聲明。在ecmascript中,使用變量之前不必聲明,變量聲明不是必須的;原因:ECMAScript的解釋程序遇到未聲明過的標識符時,會用該變量名創建一個全局變量,并將其初始化為指定的值。

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

ECMAScript 變量無需明確的類型聲明

變量名需要遵守一些簡單的規則。

聲明變量

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"; 

本教程采用了這些前綴,以使示例代碼更易閱讀:

類型前綴示例
數組aaValues
布爾型bbFound
浮點型(數字)ffValue
函數fnfnMethod
整型(數字)iiValue
對象ooType
正則表達式rerePattern
字符串ssValue
變型(可以是任何類型)vvValue

變量聲明不是必須的

ECMAScript 另一個有趣的方面(也是與大多數程序設計語言的主要區別),是在使用變量之前不必聲明。例如:

var sTest = "hello ";
sTest2 = sTest + "world";
alert(sTest2);

在上面的代碼中,首先,sTest 被聲明為字符串類型的值 "hello"。接下來的一行,用變量 sTest2 把 sTest 與字符串 "world" 連在一起。變量 sTest2 并沒有用 var 運算符定義,這里只是插入了它,就像已經聲明過它一樣。

ECMAScript 的解釋程序遇到未聲明過的標識符時,用該變量名創建一個全局變量,并將其初始化為指定的值。

這是該語言的便利之處,不過如果不能緊密跟蹤變量,這樣做也很危險。最好的習慣是像使用其他程序設計語言一樣,總是聲明所有變量。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高碑店市| 旅游| 上思县| 新沂市| 张掖市| 伊春市| 浮山县| 称多县| 渝中区| 北海市| 林州市| 铁岭市| 庆阳市| 辽阳市| 白银市| 德州市| 旬邑县| 三门峡市| 苗栗市| 同仁县| 瓦房店市| 徐闻县| 平凉市| 措勤县| 仪征市| 浪卡子县| 康平县| 鄂尔多斯市| 德昌县| 卢龙县| 遂川县| 阜阳市| 临邑县| 逊克县| 隆德县| 潼南县| 驻马店市| 宜昌市| 秦皇岛市| 延安市| 北安市|