您的位置:首页 > Web前端 > JavaScript

[转载]javascript 隐性类型转换步骤

2016-05-18 14:29 344 查看
来自:/article/4592236.html

这里说的隐性类型转换,是==引起的转换。

1、如果存在NaN,一律返回false

2、再看有没有布尔,有布尔就将布尔转换为数字

3、接着看有没有字符串, 有三种情况,对方是对象,对象使用toString进行转换;对方是数字,字符串转数字;对方是字符串,直接比较;其他返回false

4、如果是数字,对方是对象,对象取valueOf进行比较, 其他一律返回false

5、null, undefined不会进行类型转换, 但它们俩相等。

下面是些例子:

0 == undefined

1 == true

2 == {valueOf: function(){return 2}}

NaN == NaN

8 == undefined

1 == undefined

null == {toString: function(){return 2}}

0 == null

null == 1

{ toString:function(){ return 1 } , valueOf:function(){ return [] }} == 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: