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

javascript中,自动类型转换总结

2016-06-15 10:45 357 查看

类型不同的2个变量做加法(
+
)运算时,会发生自动类型转换:

如果2个变量是
number
,
boolean
,
null
,
undefined
中不同的2种类型,那么计算结果为
number
,其中
null
被当做0,
undefined
被当做NaN

如果2个变量至少有1个是
string
object
类型,那么计算结果为string,其中
null
被当做’null’,
undefined
被当做’undefined’

类型不同的2个变量做非严格相等(
==
)运算时,会发生自动类型转换:

null == undefined

NaN不等于任何值,包括它自身

如果2个变量是
number
, ‘boolean’,
string
中不同的2种类型,那么它们都将被转换为
number


如果2个变量中有且仅有1个是
object
类型,那么会优先调用这个
object
类型变量的
valueOf()
方法(如果存在的话),否则调用它的
toString()
方法。注意,如果这个
object
类型的变量是
Date
类型,那么只会调用
toString()
方法

如果2个变量都是
object
类型,那么比较它们的内存地址

参考

《Effective Javascript》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript