再说js隐式转换

Posted asdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再说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的内容



以上是关于再说js隐式转换的主要内容,如果未能解决你的问题,请参考以下文章

简单说 通过JS的隐式转换,关键时刻救你一命

js隐式类型转换,预编译递归

Js隐式转换

隐式类型转换

js常用代码片段(更新中)

JS强制类型转换,隐式类型转换, == 和===的区别