javascript - js “+ - ”怎么理解
本文介绍了javascript - js “+ - ”怎么理解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var a = 5;
console.log(a++); // 5
console.log(++a); // 7
console.log(a--); // 7
console.log(--a); // 5
1.这段代码有点儿不理解,为什么加减放前后会不一样呢,
2.为什么相差2呢,不是应该只加一或减一的吗,如果换成a+1,a-1 呢
3.而且平时我们比如在循环里也会用到 a++这种形式啊,如上面的结果,拿在循环体内就没用了咯?
求各位大神解释解释。。。
解决方案
和 C/C++/Java 类似
++/--放在前面表示先做运算再返回值;放在后面则是先保存当前值,做运算后返回之前的保存值。(就这样理解就可以了,千万不要在一行里写一个以上的++或--!!!!)
所以a++得到的是原来a的值,在这之后读取a就可以得到+1后的值;++a得到的就是a自增后的值,至于++a + a
a++ + a
这种代码,我相信即使标准有定义,也不是我们应该写的。其实个人建议a++
这类表达式还是单列一行写比较好,否则阅读代码时会造成一定的麻烦(循环的惯用法除外)。回到问题本身,其实每一句之后加一个
console.log(a);
就好理解了在 for 循环中,常见的写法其实是完全抛弃
++
/--
运算的返回值了(只取其副作用),所以前后语义一样。
这篇关于javascript - js “+ - ”怎么理解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文