咨询电话:024-31891684

网站建设|注册|登录 | 易势大连分公司

沈阳网站制作易势最专业!

 

ECMAScript原始类型当前位置:首页>主要服务>网站制作>JS/Jquery

ECMAScript 有 5 种原始类型(primitive type、Null、Boolean、Number 和String。ECMA-262把术语类型(type)定义为值的一个集合,每种原始类型 定义了它包含的值的范围及其字面量表示形式。

 

ECMAScript提供了tyPeof运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否 表示一种原始类型;如果它是原始类型,还可以判断它表示哪种原始类型。

 

 

typeof 运算符

 

typeof运算符有一个参数,即要检查的变量或值。例如:

var sTeqp = "test string';

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

对变量或值调用typecf运算符将返回下列值之一:

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

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

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

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

 〃object〃,如果变量是一种引用类型或Null类型的。

你也许会问,为什么typeof运算符对于null值会返回〃object"。这实际上是JavaScript 最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占 位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

 

 

Undefined 类型

 

如前所述,Undefined类型只有一个值,即undefined。当声明的变量未初始化时, 该变量的默认值是undefined。

var oTenip;

前面一行代码声明变量oTemp,没有初始值。该变量将被赋予值undefined,即 Undefined类型的字面量。可以用下面的代码段测试该变量的值是否等于

undefined: var oTePKP;

aLert(oTemp := undefined);

这段代码将显示〃true〃,说明这两个值确实相等。还可以用typeof运算符显示该 变量的值是undefined。

var oTeinp;

aLert I typeof      ); //outputs , undefined^

注意,值undefined并不同于未定义的值。但是,typeof运算符并不真正区分这两 种值。考虑下面的代码:

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使用其他运算符,这将引起错误,因为 那些运算符只能用于已定义的变量。例如,下面的代码将引发错误:

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

//try outputting

alertCoTepp2 undefined!; i/causes error

当函数无明确返回值时,返回的也是值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运算符时, 简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象 时,返回的通常是null。

 

 

Boolean 类型

 

Boolean类型是ECMAScript中最常用的类型之一。它有两个值true和false (即 两个Boolean字面量)。即使false不等于0,0也可以在必要时被转换成false, 这样在Boolean语句中使用两者都是安全的。

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

 

 

Number 类型

 

ECMA-262中定义的最特殊的类型是Number型。这种类型既可以表示32

位的整数,还可以表示64位的浮点数。直接输入的(而不是从另一个变量访问的)任何数字都被看作Number型的字面量。例如,下面的代码声明了存放整数 值的变量,它的值由字面量55定义:

var iNun = 55;

整数也可以被表示为八进制(以8为底)或十六进制(以16为底)的字面量。 八进制字面量的首数字必须是0,其后的数字可以是任何八进制数字(0到7), 如下面代码所示:

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

要创建十六进制的字面量,首位数字必须为0,其后接字母[然后是任意的十 六进制数字(0到9和A到F)。这些字母可以是大写的,也可以是小写的。例如:

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

尽管所有整数都可表示为八进制或十六进制的字面量,但所有数学运算返回的都是 十进制结果。

要定义浮点值,必须包括小数点和小数点后的一位数字(例如,用1.0而不是1)。 这被看作浮点数字面量。例如:

var a 5.0;

浮点字面量的有趣之处在于,用它进行计算前,真正存储的是字符串。

对于非常大或非常小的数,可以用科学记数法表示浮点值。采用科学记数法, 可以把一个数表示为数字(包括十进制数字)加e (或E),后面加乘以10的倍数。

上一条资讯|返回栏目页|下一条资讯

沈阳网站制作--网站前台效果

易势网站制作,以DIV+CSS为主,js/jQuery为辅,制作利于优化,页面美观的优质网站!

top

网络策划公司|新浪官方微博|大连网站建设