读书人

慎用基本部类的包装类

发布时间: 2012-11-22 00:16:41 作者: rapoo

慎用基本类型的包装类

浏览网页无意中看到的,条件判断时强制强其转换成Boolean型。对于JavaScript来说在需要用到Boolean时会动态转换。


var b = new Boolean(false);if(b){alert(5); // 弹出}
?当Boolean的参数是false,0,null,undefined时,b将是一个对象,if(b)中的b将为真,后续代码会执行。因此不要这么干。
去掉 new 则是没问题的。
var b = Boolean(false);if(b){alert(5); // 不会弹出}
?当然也可以用这种方式方便的实现类型转换,如
var a = Number('22');typeof a; // numbervar b = Boolean('null');typeof b; // booleanvar c = String(33);typeof c; // string
?
1 楼 笨笨狗 2010-09-02 有new和没有new,行为是不同的(new的话返回包装对象,直接调用返回经过类型转换后的另一个“原始值”),这个在javascript权威指南的API参考部分有详细说明:) 2 楼 zhouyrt 2010-09-03 笨笨狗 写道有new和没有new,行为是不同的(new的话返回包装对象,直接调用返回经过类型转换后的另一个“原始值”),这个在javascript权威指南的API参考部分有详细说明:)

谢谢您的提醒。

读书人网 >Web前端

热点推荐