1、+运算符对引用类型对象(我指的是String、Date、Object、Array、Function、Boolean)的运算过程如下!1.首先调用这个对象的valueOf方法得到返回值A2,然后把这个值A转换成数字,得到最终的值functionw(s){document.writeln("
");文档.writeln(s);document.writeln("
---------------------------");}String.prototype.valueOf=function(){返回1;};w(+newString("sss"));//输出1String.prototype.valueOf=function(){return"a";};w(+newString("sss"));//输出NaNDate.prototype.valueOf=function(){return1;};w(+newDate());//输出1Date.prototype.valueOf=function(){return"a";};w(+newDate());//输出NaNObject.prototype.valueOf=function(){return1;};w(+{});//输出1Object.prototype.valueOf=function(){return"a";};w(+{});//输出NaNArray.prototype.valueOf=function(){return1;};w(+[]);//输出1Array.prototype.valueOf=function(){return"a";};w(+[]);//输出NaNvars=function(){};Function.prototype.valueOf=function(){return1;};w(+s);//输出1Function.prototype.valueOf=function(){return"a";};w(+s);//输出NaN布尔值.prototype.valueOf=function(){返回1;};w(+newBoolean());//输出1Boolean.prototype.valueOf=function(){return"a";};w(+newBoolean());//输出NaN二,对于基本数据数据类型,将其值转换为数字w(+5);//输出5w(+true);//输出1w(+false);//输出0w(+"ss");//输出NaNw(+"111");//输出111
