JavaScript的位运算符、赋值运算符、其他运算符、三元运算符、运算符优先级

一、 位运算符
  在一般的应用中,我们基本上用不到位运算符。虽然,它比较基于底层,性能和速度会非常好,而就是因为比较底层,使用的难度也很大,底层运算是转换成二进制进行运算的。

  位运算符有七种,分别是:位非 NOT(~)、位与 AND(&)、位或 OR(|)、位异或 XOR(^)、左移(<<)、有符号右移(>>)、无符号右移(>>>)。

var box = ~25; //-26
var box = 25 & 3; //1
var box = 25 | 3; //27
var box = 25 << 3; //200
var box = 25 >> 2; //6
var box = 25 >>> 2; //6

 



二、赋值运算符
  赋值运算符用等于号(=)表示,就是把右边的值赋给左边的变量。

var box = 100; //把 100 赋值给 box 变量

  复合赋值运算符通过 x=的形式表示,x 表示算术运算符及位运算符。

var box = 100;
box = box +100; //200,自己本身再加 100

  这种情况可以改写为:

var box = 100;
box += 100; //200,+=代替 box+100

  除了这种+=加/赋运算符,还有其他的几种如下:
    1.乘/赋(*=)
    2.除/赋(/=)
    3.模/赋(%=)
    4.加/赋(+=)
    5.减/赋(-=)
    6.左移/赋(<<=)
    7.有符号右移/赋(>>=)
    8.无符号有移/赋(>>>=)

 

 

 

三、其他运算符
  1.字符串运算符:只有一个,即:"+"。它的作用是将两个字符串相加。规则:至少一个操作数是字符串即可。

var box = ‘100‘ + ‘100‘; //100100
var box = ‘100‘ + 100; //100100
var box = 100 + 100; //200


  2.逗号运算符:可以在一条语句中执行多个操作。

var box = 100, age = 20, height = 178;     //多个变量声明
var box = (1,2,3,4,5);             //5,变量声明,将最后一个值赋给变量,不常用
var box = [1,2,3,4,5];             //[1,2,3,4,5],数组的字面量声明
var box = {                 //[object Object],对象的字面量声明
       1 : 2,
       3 : 4,
       5 : 6
     };

 

 

 

四、三元运算符:

  其实就是 if 语句的简写形式。

var box = 5 > 4 ? ‘对‘ : ‘错‘;        //对,5>4 返回 true 则把‘对‘赋值给 box,反之。

相当于:

var box = ‘‘;       //初始化变量
if (5 > 4) {       //判断表达式返回值
  box = ‘对‘;     //赋值
} else {
  box = ‘错‘;     //赋值
}

 




四、运算符优先级
  在一般的运算中,我们不必考虑到运算符的优先级,因为我们可以通过圆括号来解决这种问题。比如:

 var box = 5 - 4 * 8; //-27
  var box = (5 - 4) * 8; //8

  但如果没有使用圆括号强制优先级,我们必须遵循以下顺序:

技术分享

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。