再说js隐式转换

再说js隐式转换

自己整理的一个整体规则如下:

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的内容



猜你喜欢

转载自www.cnblogs.com/asdfq/p/10994198.html