程序员

简单的数据运算易错点 [JavaScript_002]

2019-03-11  本文已影响0人  六亲不认的步伐

++/--运算相关


  var a = 2;
  var b = ++a;
  console.log('a is' + a);//此时a输出为3
  console.log('b is' + b);//此时b输出为3

  var a = 2;
  var b = a++;
  console.log('a is' + a);//此时a输出为3
  console.log('b is' + b);//此时b输出为2

++/--运算原则总结若操作符在变量前 则先进行运算再赋值,反之,则先赋值后运算

%,%=,+,-,*,/相关运算


  var a = 3;
  var b = a;
  b %= a + 1;
  console.log('a is' + a);//此时a输出为3
  console.log('b is' + b);//此时b输出为3
  var a = 3;
  var b = a;
  b = b % a + 1;
  console.log('a is' + a);//此时a输出为3
  console.log('b is' + b);//此时b输出为1

** %,%=,+,-,,/运算原则总结按照运算优先级进行计算,本例子中优先级 '%' > '+' >'%=' *

& | && || !相关运算

&:按位与运算 例如 2&4 =0
解析 : 2--->二进制为 0010 4---> 二进制为 0100 按位与操作为 0000--->十进制为0
|:按位与运算 例如 2|4 =0
解析 : 2--->二进制为 0010 4---> 二进制为 0100 按位与操作为 0110--->十进制为6
&& :逻辑与运算(原则:全真才为真 )

var a = 1 && 2+2;//因为1不为false 所以返回4 
console.log(a)//a此时为4 转为布尔值为真
解析:1为真,2+2也为真,所以结果也为真(全真才为真)
var a = 1 && 2-2;//因为1不为false 所以返回2-2 =0 
console.log(a)//a此时为0 转为布尔值为假
解析:1为真,2-2也为0,所以结果也为假(有假不为真)

|| :逻辑与运算(原则:全假才为假 )

上一篇下一篇

猜你喜欢

热点阅读