简单的数据运算易错点 [JavaScript_002]
2019-03-11 本文已影响0人
六亲不认的步伐
++/--运算相关
- ++a代码示例:
var a = 2;
var b = ++a;
console.log('a is' + a);//此时a输出为3
console.log('b is' + b);//此时b输出为3
- a++ 代码示例
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,所以结果也为假(有假不为真)
|| :逻辑与运算(原则:全假才为假 )