咨询电话:024-31891684

pg电玩城-pg电子麻将胡了2试玩|注册|登录 |

ecmascript原始类型-pg电玩城

 

ecmascript原始类型当前位置:pg电玩城-pg电子麻将胡了2试玩>主要服务>网站制作>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

前面的代码对两个变量输出的都是〃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的倍数。

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

分享到:
0

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

易势网站制作,以div css为主,js/jquery为辅,制作利于优化,页面美观的优质网站!

top

网络策划公司|新浪官方微博|

网站软件咨询

客户服务咨询

网站地图