当通过new Boolean(),new Number()或者new String()方法创建的对原始类型的引用,

他们都会是以对象的方式存在,所以在像&&,||和if()这些运算中他们都会以对象的方式存在

所以不管他们是false,0或者是"",他们都会返回false,所以此时为了避免这个错误就可以用

valueOf()得到该原始数据类型对象的最合适的值,即他们的原始值!

例:

var bln=new Boolean(false);
var blnRe=bln&&true;//output true
var blnRe2=bln.valueOf()&&true;//output false

var num=new Number(0);
var blnNum=num&&true;//output true
var blnNum2=num.valueOf()&&true;//output false
posted on 2011-03-06 12:57  Lollypop  阅读(270)  评论(0)    收藏  举报