本身整理的一个总体规则以下:code
Date 默认 走 toString, 若是 toString 返回的是对象, 那么查看 valueOf
其余对象的转换, 默认走 valueOf, 可是若是 valueOf 返回的是对象, 那么尝试 toString对象
//好比示例以下: //默认的对象隐式转换是走 valueOf var o1 = { valueOf: function(){ return 1; }, toString: function(){ return 9; } } console.log(o1 == 1); // true
//Date 默认走 toString //好比 new Date("1970/01/02") new Date("1970/01/02").toString() == "Fri Jan 02 1970 00:00:00 GMT+0800 (中国标准时间)"; //true, 默认的 toString 的内容 new Date("1970/01/02") == "Fri Jan 02 1970 00:00:00 GMT+0800 (中国标准时间)"; //true, 默认的 toString 的内容 new Date("1970/01/02").valueOf() == 57600000 // getTime的内容