+ 的陷阱

本文探讨了JavaScript中数字与字符串相加时的行为差异,并通过示例代码展示了如何正确进行数值计算而非字符串拼接。此外,还介绍了几种将字符串转换为数字的方法。

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 这样的弱类型语言,类似的地方还有不少,这也许就是脚本语言的灵活之美了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值