ECMAScript的数据类型注意点

ECMAcript包含6中数据类型:
五种基本数据类型:Number、String、Boolean、Undefined、Null
一种复杂数据类型:Object


1、特殊知识点:
(1)typeof null->null 原因:null是一个空的对象引用
(2)Safari5及之前的版本,Chrome7及之前版本在对正则表达式调用typeof时返回"function",其他浏览器返回"Object".
(3)从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型,然而,函数也确实有一些特殊的属性,因此通过typeof来区分函数和其他对象是有必要的。
(4)
undefined:可表示一个未声明或未初始化的变量(ECMAScript3 引入undefined,用于区分空对象指针和空变量)
null:表示一个空对象指针


2、undefined和null
(1)如果定义的变量准备保存一个对象,那么最好将该变量初始化为null而不是其他值。这样一来,又要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用。
eg:
if(num!=null) {
//执行代码
}


(2)undefined是派生自null的,则有alert(null==undefined);//true
尽管null和undefined有这样的关系但他们的用途完全不同。


(3)无论在什么情况下没有必要把一个变量的值显示的设置为undefined,但同样的规则对null不适用。(只要意在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null值)这样做不仅可以体现null作为空对象的指针的惯例,而且也有助于区分null和undefined


3、Boolean:Boolean()函数可将其他类型值转换为Boolean值(true/false),在if( )语句中会自行调用Boolean()方法。


4、Number:
(1)浮点数的问题:0.1+0.2 != 0.3,而是0.30000000000004,关于浮点数值计算会产生舍入误差问题,有一点需要明确:这是使用基于IEEE754数值的浮点计算的通病,ECMAScript并非独此一家;其他使用相同数值格式的语言也存在这个问题。(另外保存浮点数所需的内存是整数的2倍)
(2)ECMAScript表示的数值范围及极端值
Number.MIN_VALUE:ECMAScript能表示的最小数值
Number.MAX_VALUE:ECMAScript能表示的最大数值
Number.NEGATIVE_INFINITY=-INFINITY极小值
Number.POSITIVE_INFINITY=INFINITY极大值
(INFINITY不能用于计算)
使用isFinite()可用于判断数值是否在ECMAScript表示的数值范围之内


5、NaN:即非数值,是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回的情况(这样就不会抛出错误了)有isNaN()用于判定。


6、
toString():null和undefined没有这个方法
String():可以将null和undefined转换为字符串。可以将任何类型的值转换为String类型。
注意:要把某个值转换为字符串,可以使用"+"把它与一个字符串(" ")加在一起。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值