JavaScript的运算符

  今天我来谈一下我对于JavaScript的运算符的见解。运算符这个概念我们不陌生,数学中的“+,-,*(这个符号是乘号),/(这个符号是除号),=”这五个运算符是我们最常见的;我们今天说一下我们最常用的;

  1、JavaScript的算术运算符;"+, -, *, /"

  我们首先通过一个表格来看一下这几个运算符都代表什么含义:

运算符 含义值
+

1、加法

2、拼接

- 减法
* 乘法
/ 除法
% 求余数

  看下面这这组代码讲的是在JavaScript中的输入方法:

  

        + - * / a++ a-- ++a --a
    var a = 5 % 3; // a=2 取模就是我们常说的求余数;5/3 商1余2;

    a = a + 1; // 简写 a += 1
    a = a - 1; // 简写 a -= 1
    a = a * 1; // 简写 a *= 1
    a = a / 1; // 简写 a /= 1
    a = a % 1; // 简写 a %= 1

    a++ 等同于 a = a + 1;
    a-- 等同于 a = a - 1;

    var a = 1;
    var b = a++ + ++a; // 第一个 a = 1 , 第二个 a = 3 结果是 4
    ++a 等同于 a = 1 + a;
    --a 等同于 a = -1 + a;
    () 能改变运算符的优先计算等级    

  我通过几个简单的例子演示下它们的用法:  

        // + 运算符
    alert(5+2); // 7
    var a = 1;
    var b = a + 2;
    alert(b); // 3

    // - 运算符
    alert(7-1); // 6
    var a = 3;
    var b = a -2;
    alert(b); // 1

    // * 运算符
    alert(3*2); // 6
    var a = 5;
    var b = a*2;
    alert(b); // 10

    // / 运算符
    alert(9/3); // 3
    var a = 6;
    var b = a/2;
    alert(b); // 3

    // % 运算符
    alert(7%3); // 1
    var a = 10;
    var b = a%3;
    alert(b); // 1    

  注意a++ 与++a和a-- 与 --a的区别:

    // a-- 等同于 a-=1 区别是这个就是每次 -1 先赋值后运算。
    // a-- 等同于 a+=-1 先运算后赋值 
   var a = 5; alert(a-=1); // 4 var a = 5; alert(a--); // 5 var a = 5; alert(--a); // 4 // 思考这个结果是多少 var a = 1; var b = a++ + ++a; // 第一个 a = 1 , 第二个 a = 3 结果是 4
  /* a++ 我们可以这样理解*/
  var a = 1;
  alert(a);a += 1;
  //按照代码的读取格式,从上向下,从左到右,这样的话;当代码读到 alert 的时候就会先输出 a 的值也就是 1 ,然后在进行 +1 的运算。a-- 以为是同样的道理。

    2、JavaScript的赋值运算符:    

    对于赋值我们很熟悉了;例如 :    

var a = 1;//我们把数字 1 赋值给了变量 a ;
//JavaScript中 “=” 号并不是我们数学中的等于的意思,而是代表赋值;将一个值赋予给另外的一个值;我们还可以这样赋值:
var a = 2;
var b = a
;
alert(b);//输出的值是2;我们为变量 a 赋值了数字2;然后我们还可以把变量 a 在赋值给变量 b ;

    3、JavaScript的比较运算符;

    在数学中我们常用的比较符有:大于号(>),小于号(<),等于号(=),大于等于(>=);小于等于(<=),不等于(!=);后面的小括号里面的是在计算机里的书写方法;

    需要注意的是在JavaScript中表示等于的符号是“==”;两个等号代表相等;“===”三个等号代表全等具体的我会在下面的例子来说明;    

var a = 123;//这个是数字;
var b = '123';//这个是字符串;
if(a == b){
    alert('两个值相等');
}else{
    alert('两个值不相等')
}   
//这个会输出两个值相等;
if(a === b){
    alert('两个值相等');
}else{
    alert('两个值不相等')
} 
//这个会输出两个值不相等; 
/*
*这是为什么呢, == 号只要是值相等那么就会判定这两个变量相等;但是 === 需要值的类型也相同!
*/

    下面的例子说一下其他的比较符:    

        // > 大于
        var a = 6;
    var b = 3;
    if(a > b){
        alert('a 确实大于 b');
    }else{
        alert('a 不大于 b');
    }

    // < 小于
    var a = 6;
    var b = 3;
    if(a < b){
        alert('a 确实大于 b'); // 为真才走的分支
    }else{
        alert('a 不大于 b'); // 为假走的分支
    }

    // == 等于
    var a = 6;
    var b = 3;
    if(a == b){
        alert('a 确实等于 b');
    }else{
        alert('a 不等于 b');
    }

    // === 全等于
    var a = 3;
    var b = '3';
    if(a == b){ // 注意这里是 == 等于
        alert('a 确实全等于 b');
    }else{
        alert('a 不全等于 b');
    }

    var a = 3;
    var b = '3';
    if(a === b){ // 注意这里是 === 全等于
        alert('a 确实全等于 b');
    }else{
        alert('a 不全等于 b');
    }

    // != 不等于
    var a = 3;
    var b = '3';
    if(a != b){ // 注意这里是 != 不等于
        alert('a 不等于 b');
    }else{
        alert('a 等于 b');
    }

    var a = 3;
    var b = 7;
    if(a != b){ // 注意这里是 != 不等于
        alert('a 不等于 b');
    }else{
        alert('a 等于 b');
    }

    // !== 不全等
    var a = 3;
    var b = '3';
    if(a != b){ // 注意这里是 != 不等于
        alert('a 不等于 b');
    }else{
        alert('a 等于 b');
    }

    var a = 3;
    var b = '3';
    if(a !== b){ // 注意这里是 !== 不全等于
        alert('a 不全等于 b');
    }else{
        alert('a 全等于 b');
    }

    // >= 大于等于
    var a = 3;
    var b = 3;
    if(a > b){
        alert('你说的对');
    }else{
        alert('你说的不对');
    }

    var a = 3;
    var b = 3;
    if(a >= b){
        alert('你说的对');
    }else{
        alert('你说的不对');
    }

    // <= 小于等于
    var a = 3;
    var b = 3;
    if(a < b){
        alert('你说的对');
    }else{
        alert('你说的不对');
    }

    var a = 3;
    var b = 3;
    if(a <= b){
        alert('你说的对');
    }else{
        alert('你说的不对');
    }
    

   3、逻辑运算符:

    逻辑运算符指的是:与(&&)、或(||)、 非(!);这三种

     多个条件组合, 结果也是 true(真) 或 false(假)

     && 与 &&运算符两边 都为 true 结果(真) 才为 true(真)

     || 或者 || 运算符两边 只要有一个为 true(真) 就为 true(真)

     ! 非 取反

     下面的看一些小例子:

  

// && 并且
    var a = 'yes';
    var b = 'no';
    if(a == 'yes' && b == 'yes'){ // 两个判断必须都为真
        alert('你是对的');
    }else{
        alert('你是错的');
    }

    var a = 'yes';
    var b = 'yes';
    if(a == 'yes' && b == 'yes'){
        alert('你是对的');
    }else{
        alert('你是错的');
    }

    // || 或者
    var a = 'yes';
    var b = 'no';
    if(a == 'yes' || b == 'yes'){ // 其中有一个为真就是真
        alert('你是对的');
    }else{
        alert('你是错的');
    }

    var a = 'yes';
    var b = 'yes';
    if(a == 'yes' || b == 'yes'){ // 两个都为真更是真, 其实第一个为真第二个就不在去判定
        alert('你是对的');
    }else{
        alert('你是错的');
    }

    // ! 非
    var a = 'yes';
    if(a != 'no'){
        alert('你是对的');
    }else{
        alert('你是错的');
    }

   4、其他运算符:

   三元运算符:a ? b : c

  

     var a = 1, b = 2;
     a>2 ? alert('yes'): alert('no'); //no;我们可以把它看成 if ... else 的简写形式 !
    
   if(a>2){
    alert('yes')
   }else{
    alert('no')
   }

原文地址:https://www.cnblogs.com/ade-Java/p/5884742.html