中文字幕亚洲欧美一区_国产JIZZJIZZ免费看_亚洲av大码在线_亚洲黄色一级毛片_野花影视大全在线观看免费_欧美一区二区三区免费不卡_欧美日韩国产在线精品_国产福利盒子在线看片_精品国产人成在线_日韩欧美动漫一区在线

咨詢電話:024-31891684

網(wǎng)站建設(shè)|注冊(cè)|登錄 | 易勢(shì)大連分公司

沈陽(yáng)網(wǎng)站制作易勢(shì)最專(zhuān)業(yè)!

 

ECMAScript原始類(lèi)型當(dāng)前位置:首頁(yè)>主要服務(wù)>網(wǎng)站制作>JS/Jquery

ECMAScript 有 5 種原始類(lèi)型(primitive type、Null、Boolean、Number 和String。ECMA-262把術(shù)語(yǔ)類(lèi)型(type)定義為值的一個(gè)集合,每種原始類(lèi)型 定義了它包含的值的范圍及其字面量表示形式。

 

ECMAScript提供了tyPeof運(yùn)算符來(lái)判斷一個(gè)值是否在某種類(lèi)型的范圍內(nèi)。可以用這種運(yùn)算符判斷一個(gè)值是否 表示一種原始類(lèi)型;如果它是原始類(lèi)型,還可以判斷它表示哪種原始類(lèi)型。

 

 

typeof 運(yùn)算符

 

typeof運(yùn)算符有一個(gè)參數(shù),即要檢查的變量或值。例如:

var sTeqp = "test string';

丨i:ypsg£ sTemp); //outputs * string" aLert(typeof 95)r //outputs numberp

對(duì)變量或值調(diào)用typecf運(yùn)算符將返回下列值之一:

 〃undefined〃,如果變量是 Undefined 型的。

 〃boolean〃,如果變量是Boolean型的。

 〃number〃,如果變量是Number型的。

 〃string〃,如果變量是String型的。

 〃object〃,如果變量是一種引用類(lèi)型或Null類(lèi)型的。

你也許會(huì)問(wèn),為什么typeof運(yùn)算符對(duì)于null值會(huì)返回〃object"。這實(shí)際上是JavaScript 最初實(shí)現(xiàn)中的一個(gè)錯(cuò)誤,然后被ECMAScript沿用了。現(xiàn)在,null被認(rèn)為是對(duì)象的占 位符,從而解釋了這一矛盾,但從技術(shù)上來(lái)說(shuō),它仍然是原始值。

 

 

Undefined 類(lèi)型

 

如前所述,Undefined類(lèi)型只有一個(gè)值,即undefined。當(dāng)聲明的變量未初始化時(shí), 該變量的默認(rèn)值是undefined。

var oTenip;

前面一行代碼聲明變量oTemp,沒(méi)有初始值。該變量將被賦予值undefined,即 Undefined類(lèi)型的字面量??梢杂孟旅娴拇a段測(cè)試該變量的值是否等于

undefined: var oTePKP;

aLert(oTemp := undefined);

這段代碼將顯示〃true〃,說(shuō)明這兩個(gè)值確實(shí)相等。還可以用typeof運(yùn)算符顯示該 變量的值是undefined。

var oTeinp;

aLert I typeof      ); //outputs , undefined^

注意,值undefined并不同于未定義的值。但是,typeof運(yùn)算符并不真正區(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*

前面的代碼對(duì)兩個(gè)變量輸出的都是〃undefined'',即使只有變量oTemp2是未定義 的。如果不用typecf運(yùn)算符,就對(duì)cTemp2使用其他運(yùn)算符,這將引起錯(cuò)誤,因?yàn)?nbsp;那些運(yùn)算符只能用于已定義的變量。例如,下面的代碼將引發(fā)錯(cuò)誤:

sure this variable isn't defined //v-ar oTecp2 ;

//try outputting

alertCoTepp2 undefined!; i/causes error

當(dāng)函數(shù)無(wú)明確返回值時(shí),返回的也是值undefined,如下所示:

function cestFuncd {

the fiinccion blasik

alert (testFuncU -- undefined) j / /outputs 11 true"

 

 

Null 類(lèi)型

 

另一種只有一個(gè)值的類(lèi)型是Null,它只有一個(gè)專(zhuān)用值null,即它的字面量。值 undefined實(shí)際上是從值null派生來(lái)的,因此ECMAScript把它們定義為相等的。

alert (null == undefined) i ^/outputs "fcruHe'

盡管這兩個(gè)值相等,但它們的含義不同。undefined是聲明了變量但未對(duì)其初始化 時(shí)賦予該變量的值,null則用于表示尚未存在的對(duì)象(在討論typecf運(yùn)算符時(shí), 簡(jiǎn)單地介紹過(guò)這一點(diǎn))。如果函數(shù)或方法要返回的是對(duì)象,那么找不到該對(duì)象 時(shí),返回的通常是null。

 

 

Boolean 類(lèi)型

 

Boolean類(lèi)型是ECMAScript中最常用的類(lèi)型之一。它有兩個(gè)值true和false (即 兩個(gè)Boolean字面量)。即使false不等于0,0也可以在必要時(shí)被轉(zhuǎn)換成false, 這樣在Boolean語(yǔ)句中使用兩者都是安全的。

var bFoujid = true; var bLo^c - false;

 

 

Number 類(lèi)型

 

ECMA-262中定義的最特殊的類(lèi)型是Number型。這種類(lèi)型既可以表示32

位的整數(shù),還可以表示64位的浮點(diǎn)數(shù)。直接輸入的(而不是從另一個(gè)變量訪問(wèn)的)任何數(shù)字都被看作Number型的字面量。例如,下面的代碼聲明了存放整數(shù) 值的變量,它的值由字面量55定義:

var iNun = 55;

整數(shù)也可以被表示為八進(jìn)制(以8為底)或十六進(jìn)制(以16為底)的字面量。 八進(jìn)制字面量的首數(shù)字必須是0,其后的數(shù)字可以是任何八進(jìn)制數(shù)字(0到7), 如下面代碼所示:

var iwum = 070? //&70 is equal to 56 in deciinai

要?jiǎng)?chuàng)建十六進(jìn)制的字面量,首位數(shù)字必須為0,其后接字母[然后是任意的十 六進(jìn)制數(shù)字(0到9和A到F)。這些字母可以是大寫(xiě)的,也可以是小寫(xiě)的。例如:

var iJto = 0xl£? "0x1 £ is equal to 31 in decimal var 1Nup2 = OstAB; //OxAB is egyal zo 27L in deciml

盡管所有整數(shù)都可表示為八進(jìn)制或十六進(jìn)制的字面量,但所有數(shù)學(xué)運(yùn)算返回的都是 十進(jìn)制結(jié)果。

要定義浮點(diǎn)值,必須包括小數(shù)點(diǎn)和小數(shù)點(diǎn)后的一位數(shù)字(例如,用1.0而不是1)。 這被看作浮點(diǎn)數(shù)字面量。例如:

var a 5.0;

浮點(diǎn)字面量的有趣之處在于,用它進(jìn)行計(jì)算前,真正存儲(chǔ)的是字符串。

對(duì)于非常大或非常小的數(shù),可以用科學(xué)記數(shù)法表示浮點(diǎn)值。采用科學(xué)記數(shù)法, 可以把一個(gè)數(shù)表示為數(shù)字(包括十進(jìn)制數(shù)字)加e (或E),后面加乘以10的倍數(shù)。

上一條資訊|返回欄目頁(yè)|下一條資訊

沈陽(yáng)網(wǎng)站制作--網(wǎng)站前臺(tái)效果

易勢(shì)網(wǎng)站制作,以DIV+CSS為主,js/jQuery為輔,制作利于優(yōu)化,頁(yè)面美觀的優(yōu)質(zhì)網(wǎng)站!

top

網(wǎng)絡(luò)策劃公司|新浪官方微博|大連網(wǎng)站建設(shè)