咨询电话:024-31891684
13390130939售前咨询电话 31891684z6尊龙平台的售后服务电话
13390130939技术咨询 31891684传真
ecmascript原始类型当前位置:z6尊龙平台-凯时app官方首页>主要服务>网站制作>js/jqueryecmascript 有 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为辅,制作利于优化,页面美观的优质网站!
网络策划公司|新浪官方微博|
沈阳易势科技有限公司 网站制作网络营销公司 © 2011 , all rights reserved. 公司地址:沈阳市铁西区贵和街道建设中路15号浅草绿阁商务楼402室沈阳网站制作易势最专业
辽b2-20150173-8号
"));