一,对于引用类型对象(我指的是string,date,object,array,function,boolean)的+运算符运算过程如下! 
1,首先调用此对象的valueof方法,得到返回数值a 
2,然后把此数值a转换成数字,得到的是最终数值
我的测试如下:
复制代码 代码如下:
function w(s){ 
document.writeln(
); 
document.writeln(s); 
document.writeln(
-----------------------------); 
} 
string.prototype.valueof=function(){return 1;}; 
w(+new string(sss));//输出1 
string.prototype.valueof=function(){return a;}; 
w(+new string(sss));//输出nan
date.prototype.valueof=function(){return 1;}; 
w(+new date());//输出1 
date.prototype.valueof=function(){return a;}; 
w(+new date());//输出nan
object.prototype.valueof=function(){return 1;}; 
w(+{});//输出1 
object.prototype.valueof=function(){return a;}; 
w(+{});//输出nan
array.prototype.valueof=function(){return 1;}; 
w(+[]);//输出1 
array.prototype.valueof=function(){return a;}; 
w(+[]);//输出nan
var s=function(){}; 
function.prototype.valueof=function(){return 1;}; 
w(+s);//输出1 
function.prototype.valueof=function(){return a;}; 
w(+s);//输出nan
boolean.prototype.valueof=function(){return 1;}; 
w(+new boolean());//输出1 
boolean.prototype.valueof=function(){return a;}; 
w(+new boolean());//输出nan
二,对于基本数据数据类型,其值转换成数字 
复制代码 代码如下:
w(+5);//输出5 
w(+true);//输出1 
w(+false);//输出0 
w(+ss);//输出nan 
w(+111);//输出111
   
 
   