首页 > web前端 > 使用运算符 -= 的陷阱

使用运算符 -= 的陷阱

2012年7月28日 发表评论 阅读评论

一般的编程语言中都提供了+=、-=这样的运算符,例如

var para = 1;
para = para + 4;
//等价于
para += 4;

//同样
para = para - 4;
//等价于
para -= 4;

我的编程习惯一直比较倾向后者,最近在写php代码时候发现了一个小陷阱,如下代码:

$cnt = 100;
$offset1 = 80;
$offset2 = 120;

$cnt -= $offset1 + $offset2;

我的原意是$cnt – $offset1 + $offset2,结果为140,但是真实的结果是-100。这也是典型运算符优先级导致的问题,原来 + 的优先级要高于 -=,所以自然结果就是-100了。经测试java、php、javascript、python都是这样。

使用 +=、-= 时如果超过两个操作数,一定要清楚到底在做什么,特别要注意运算符的优先级。

平时我是记不住那么多运算符的优先级顺序,在处理多个参数进行混合运算时都是祭出法宝,那就是使用括号来控制优先级。



欢迎转载,转载请注明文章出处,谢谢!
垃圾有点差凑合看还不错很精彩 (还没有人进行评分)
Loading...Loading...
分类: web前端 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量