重拾JavaScript乐趣——详谈引用类型之Boolean类型和Number类型(引用类型之一)

(一)Boolean类型——与布尔值对应的引用类型,创建Boolean对象,可以调用Boolean构造函数并传入true或false值。

如下:

var booleanObject=new Boolean(true);

Boolean实例重写了valueOf()方法,返回基本类型值true或false;重写了toString(),返回字符串"true"/"false"。

需要注意的是:

(1)布尔表达式中的所有对象都会被转换为true,因此在使用时很容易造成困惑,如下示例:

var falseObejct=new Boolean(false);
var result=falseObject&&true;
alert(result);//true
注意在执行第一句后falseObject的值为true

(2)typeof对基本类型返回"boolean",对引用类型返回"object"

(3)使用instanceof测试Boolean对象返回true,对基本类型的布尔值返回false

因此,很少使用Boolean对象

(二)Number类型——是与数字值对应的引用类型,创建Number对象,可以调用Number构造函数,如下:

var numberOejct=new Number(10);

Number创建的实例也重写了valueOf(),返回对象表示的基本类型的数值,toLocaleString()和toString()则返回字符串形式的数值

Number类型提供了将数值转换为字符串的三个方法:【注意返回的结果是类型是string】

(1)toFixed(),按照指定小数位返回数值的字符串表示,参数为小数位数,如:

var num=10.005;
alert(num.toFixed(2));//"10.01"

(2)toExponential(),返回以指数表示法表示的数值的字符串形式,参数为结果的小数位数,如:

var num=10;
alert(num.toExponential(1));//"1.0e+1";

(3)toPrecision(),返回toFixed()或toExponential()中任一,参数为数值所有数字的位数(不包含指数),如:

var num=99;
alert(num.toPrecision(3));//"99.0"

同Boolean,需要注意的是:

(1)typeof基本类型返回number,typeof引用类型返回Object;

(2)instanceof基本类型返回false,instanceof引用类型返回true。

由于String的内容比较多,所以单独再写一篇,就不再这里谈了

猜你喜欢

转载自blog.csdn.net/tozeroblog/article/details/79833988