parseInt([1,2,3])
1
parseInt([[1,2,3]])
1
parseInt([[['101',2,3]]], 2)
5
已在Chrome12、Firefox3.6、IE6和IE8中进行了测试。
parseInt([1,2,3])
1
parseInt([[1,2,3]])
1
parseInt([[['101',2,3]]], 2)
5
已在Chrome12、Firefox3.6、IE6和IE8中进行了测试。
parseInt
将在你的数组混乱中获取第一个合理的东西 - 在这种情况下,那就是'101'
。
然后,
>>> parseInt(101, 2)
5
Because 1012 = 510
parseInt(object)
转换为字符串的方式。这一点非常重要,因为这是它能够使用 101
的原因。但我认为 @clyfish 感到困惑的是基数和二进制解析。 - Chris Morgan因为[1,2,3].toString()
会返回1,2,3
,所以前两行代码会得到一个1
。当parseInt()
遇到NaN
时,就会停止寻找数字值,而在这种情况下,逗号,
是NaN
,所以它在那里停止解析并返回到目前为止找到的任何数字。
parseInt
期望的是一个字符串作为第一个参数,如果没有提供字符串,则会将其转换为字符串。
parseInt([1,2,3])
相当于parseInt([1,2,3].toString())
,即parseInt("1,2,3")
。它会取数组中的第一个值,然后使用基数值将该值转换为int
。
parseInt([50,2,3])
将返回50
parseInt([[['101',2,3]]], 2)
返回5,因为第一个元素101
基于2
是整数5基于10
。