JavaScript 运算符知识点整理

朱雀 2021-11-29 22:10 395阅读 0赞

算数运算符






































算数运算符 描述
+
*
/
% 取余
+ + 累加
- - 递减
  • i ++++ i 的区别
    i ++:先赋值后计算,
    ++ i:先计算后赋值。

    var i= 1;
    var s = i ++ + ++ i;
    for(var a = 0;a < 100;a ++)
    {

    1. i = i ++;

    };
    console.log(i);

问上题 i 的结果
第一步:i = 1
第二步:s = i ++ + ++i;其中 i++i = 2,其次 ++ii = 3
第三步:循环100次的 i = i ++;每一次循环 i ++ 先赋值给 i ,在进行自加,所以 i 的结果不变,i = 3;
则本题结果i= 3;

算数运算符的优先级:
* / %+ -


逻辑运算符






















逻辑运算符 描述
丨丨 或 (一真为真)
&& 且(一假为假)

算数运算符




































算数运算符 描述 结果
+ = x + = y x = x + y
-= x-= y x = x - y
= x = y x = x * y
/ = x+= y x = x / y
% = x %= y x = x % y
  1. var x = 5;
  2. var y = 6;
  3. x += y;
  4. console.log(x);

上题中声明了两个变量x , y,当x += y时,即x = x + y,则输出x = 11


三元运算符

三元运算符需要三个操作数。

语法为:条件表达式?表达式1:表达式2。

条件表达式:执行判断,返回布尔值;
表达式1:返回结果为:true 执行的内容;
表达式2:返回结果为:false 执行的内容(可嵌套三元运算符)。

  1. var score = 80;
  2. var result = score >= 90 ? "优秀" : score >= 60 ? "及格" : "不及格"
  3. console.log(result);

上题中判断得分是否为优秀,及格或者不及格,首先判断score >= 90,返回false。则再次判断score >= 60,返回为true,则输出及格。


位运算符

按位与

&
二进制对应都为1的时,则该位的结果为1,反之为0。

  1. var num1 = 5;
  2. var num2 = 3;
  3. var r = num1 & num2;
  4. console.log(r);
  5. 5:101
  6. 3:011
  7. --------
  8. r:001 1

可用于判断奇偶性

  1. console.log( (10 & 1) === 0 );//true偶数
  2. console.log( (9 & 1) === 0 );//false奇数

按位或

|
二进制对应存在1的时,则该位的结果为1,反之为0。

  1. var num1 = 5;
  2. var num2 = 3;
  3. var r = num1 & num2;
  4. console.log(r);
  5. 5:101
  6. 3:011
  7. --------
  8. r:111 7

可用于与0按位或向下取整。

按位左移

<<

二进制向左移动N位,右边以0补位。

  1. console.log(2 << 1);// 4
  2. console.log(2 << 2);// 8
  3. console.log(2 << 3);// 16
  4. console.log(2 << 4);// 32

按位右移

>>
二进制向右移动N位,左边边以0补位。

  1. console.log(8 >> 1);//4
  2. console.log(8 >> 2);//2
  3. console.log(8 >> 3);//1
  4. console.log(8 >> 4);//0

异或

^
二进制对应只存在一个1的时,则该位的结果为1,反之为0。

  1. var num1 = 5;
  2. var num2 = 3;
  3. r = num1 ^ num2
  4. console.log(r);
  5. 5:101
  6. 3:011
  7. ---------------
  8. r:110 6

可用于num1num2值得交换。

  1. num1 = num1 ^ num2;
  2. 5: 101
  3. 3: 011
  4. ------------
  5. num1: 110 6
  6. num2 = num2 ^ num1;
  7. 3:011
  8. 6:110
  9. ----------
  10. num2: 101 5
  11. num1 = num1 ^ num2;
  12. 6:110
  13. 5:101
  14. ----------
  15. num1: 011 3

发表评论

表情:
评论列表 (有 0 条评论,395人围观)

还没有评论,来说两句吧...

相关阅读