build網(wǎng)站制作 |
ECMAScript原始類型當前位置:首頁>主要服務>網(wǎng)站制作>JS/Jquery![]() ECMAScript 有 5 種原始類型(primitive type、Null、Boolean、Number 和String。ECMA-262把術(shù)語類型(type)定義為值的一個集合,每種原始類型 定義了它包含的值的范圍及其字面量表示形式。
ECMAScript提供了tyPeof運算符來判斷一個值是否在某種類型的范圍內(nèi)。可以用這種運算符判斷一個值是否 表示一種原始類型;如果它是原始類型,還可以判斷它表示哪種原始類型。
typeof 運算符
typeof運算符有一個參數(shù),即要檢查的變量或值。例如: var sTeqp = "test string'; 丨i:ypsg£ sTemp); //outputs * string" aLert(typeof 95)r //outputs numberp 對變量或值調(diào)用typecf運算符將返回下列值之一: 〃undefined〃,如果變量是 Undefined 型的。 〃boolean〃,如果變量是Boolean型的。 〃number〃,如果變量是Number型的。 〃string〃,如果變量是String型的。 〃object〃,如果變量是一種引用類型或Null類型的。 你也許會問,為什么typeof運算符對于null值會返回〃object"。這實際上是JavaScript 最初實現(xiàn)中的一個錯誤,然后被ECMAScript沿用了?,F(xiàn)在,null被認為是對象的占 位符,從而解釋了這一矛盾,但從技術(shù)上來說,它仍然是原始值。
Undefined 類型
如前所述,Undefined類型只有一個值,即undefined。當聲明的變量未初始化時, 該變量的默認值是undefined。 var oTenip; 前面一行代碼聲明變量oTemp,沒有初始值。該變量將被賦予值undefined,即 Undefined類型的字面量??梢杂孟旅娴拇a段測試該變量的值是否等于 undefined: var oTePKP; aLert(oTemp := undefined); 這段代碼將顯示〃true〃,說明這兩個值確實相等。還可以用typeof運算符顯示該 變量的值是undefined。 var oTeinp; aLert I typeof ); //outputs , undefined^ 注意,值undefined并不同于未定義的值。但是,typeof運算符并不真正區(qū)分這兩 種值??紤]下面的代碼: var oTeccp; / /make sure this variable isn* t defined. "var oTemp2 ? _______ //try outputting alert<typeof oTejnp'l ; //outputs ’undefined- ert <typeof 2} ; //oy^pyts ^undefined* 前面的代碼對兩個變量輸出的都是〃undefined'',即使只有變量oTemp2是未定義 的。如果不用typecf運算符,就對cTemp2使用其他運算符,這將引起錯誤,因為 那些運算符只能用于已定義的變量。例如,下面的代碼將引發(fā)錯誤: sure this variable isn't defined //v-ar oTecp2 ; //try outputting alertCoTepp2 undefined!; i/causes error 當函數(shù)無明確返回值時,返回的也是值undefined,如下所示: function cestFuncd { the fiinccion blasik alert (testFuncU -- undefined) j / /outputs 11 true"
Null 類型
另一種只有一個值的類型是Null,它只有一個專用值null,即它的字面量。值 undefined實際上是從值null派生來的,因此ECMAScript把它們定義為相等的。 alert (null == undefined) i ^/outputs "fcruHe' 盡管這兩個值相等,但它們的含義不同。undefined是聲明了變量但未對其初始化 時賦予該變量的值,null則用于表示尚未存在的對象(在討論typecf運算符時, 簡單地介紹過這一點)。如果函數(shù)或方法要返回的是對象,那么找不到該對象 時,返回的通常是null。
Boolean 類型
Boolean類型是ECMAScript中最常用的類型之一。它有兩個值true和false (即 兩個Boolean字面量)。即使false不等于0,0也可以在必要時被轉(zhuǎn)換成false, 這樣在Boolean語句中使用兩者都是安全的。 var bFoujid = true; var bLo^c - false;
Number 類型
ECMA-262中定義的最特殊的類型是Number型。這種類型既可以表示32 位的整數(shù),還可以表示64位的浮點數(shù)。直接輸入的(而不是從另一個變量訪問的)任何數(shù)字都被看作Number型的字面量。例如,下面的代碼聲明了存放整數(shù) 值的變量,它的值由字面量55定義: var iNun = 55; 整數(shù)也可以被表示為八進制(以8為底)或十六進制(以16為底)的字面量。 八進制字面量的首數(shù)字必須是0,其后的數(shù)字可以是任何八進制數(shù)字(0到7), 如下面代碼所示: var iwum = 070? //&70 is equal to 56 in deciinai 要創(chuàng)建十六進制的字面量,首位數(shù)字必須為0,其后接字母[然后是任意的十 六進制數(shù)字(0到9和A到F)。這些字母可以是大寫的,也可以是小寫的。例如: var iJto = 0xl£? "0x1 £ is equal to 31 in decimal var 1Nup2 = OstAB; //OxAB is egyal zo 27L in deciml 盡管所有整數(shù)都可表示為八進制或十六進制的字面量,但所有數(shù)學運算返回的都是 十進制結(jié)果。 要定義浮點值,必須包括小數(shù)點和小數(shù)點后的一位數(shù)字(例如,用1.0而不是1)。 這被看作浮點數(shù)字面量。例如: var a 5.0; 浮點字面量的有趣之處在于,用它進行計算前,真正存儲的是字符串。 對于非常大或非常小的數(shù),可以用科學記數(shù)法表示浮點值。采用科學記數(shù)法, 可以把一個數(shù)表示為數(shù)字(包括十進制數(shù)字)加e (或E),后面加乘以10的倍數(shù)。 0
|
易勢網(wǎng)站制作,以DIV+CSS為主,js/jQuery為輔,制作利于優(yōu)化,頁面美觀的優(yōu)質(zhì)網(wǎng)站!
網(wǎng)絡策劃公司|新浪官方微博|大連網(wǎng)站建設
沈陽易勢科技有限公司 網(wǎng)站制作網(wǎng)絡營銷公司 © 2011 , All rights reserved. 公司地址:沈陽市鐵西區(qū)貴和街道建設中路15號淺草綠閣商務樓402室沈陽網(wǎng)站制作易勢最專業(yè)
遼B2-20150173-8號