"101"
存在运算符"+",意味着将[10]转化为一个值,相当于调用其valueOf()方法,而Array的valueOf相当于其toString
存在运算符"+",意味着将[10]转化为一个值,相当于调用其valueOf()方法,而Array的valueOf相当于其toString |
var result = ['a', 'b', 'c'] + ""; |
"a,b,c"
与一个空字符相加,我们大可以就当成强行调用其toString方法,而Array的toString方法相当于调用其join方法,join的默认分隔符则为","
与一个空字符相加,我们大可以就当成强行调用其toString方法,而Array的toString方法相当于调用其join方法,join的默认分隔符则为"," |
NaN
'a'首先要转换为一个Number类型,既然不能转换为一个正常的数字,就转换为NaN,与NaN进行运算结果都为NaN
'a'首先要转换为一个Number类型,既然不能转换为一个正常的数字,就转换为NaN,与NaN进行运算结果都为NaN |
var result = obj["10"] + obj[10] + obj[[1, 0]]; |
7
对象的键总为字符串,因此obj[10]相当于obj["10"],obj[[1,0]]相当于obj["1,0"]
对象的键总为字符串,因此obj[10]相当于obj["10"],obj[[1,0]]相当于obj["1,0"] |
var result = !!$[([])](); |
false
转换过程如下
!!$[([])]() --> !!$[""]() --> !!String() --> !!"" --> false
!!$[([])]() --> !!$[""]() --> !!String() --> !!"" --> false |
var result = (' \t\r\n ' == 0); |
true
考空白字符串的类型
参见http://www.cnblogs.com/rubylouvre/archive/2009/09/18/1568794.html这里的回复讨论
var a = new String("123"); |
http://blog.vjeux.com/2009/javascript/smallhash-information-compression.html