1+'2' = ?
一般来说等于 3 很合理啊,可 根据标准结果是等于 '12',+ 与字符串的结合律高于数字 。特别是对于从一段字符串中利用 正则表达式抽取数字计算来说特别要注意这个问题。
如:
<script> var reg=/(\d+),(\d+)/; var ok='1,2'.match(reg); alert(ok[1]+ok[2]); </script>
可能并不是你所期望的结果哦。那么就要 强行把一个字符串转化为数字。
1. Number(str),parseInt(str)
2. (str - 0)
觉得对于字符串连接应该专门定一个操作,而不应该重用 + ,对于像javascript 这样的弱类型语言,类似的地方还有不少,这也许就是脚本语言的灵活之美了。