JavaScript基础--赋值运算和自增自减

赋值运算符

  • 简单赋值运算符: =
  • 复合赋值运算符: +=、-=、*=、/=、%=

  • 简单赋值运算符
    • 格式: 变量 = 数据
      // 将等号右边的常量10赋值给左边的变量num
      var num = 10;
      
      // 将等号右边的变量num中存储的值赋值给左边的变量value
      var value = num; 
      
    • 赋值运算符左边只能是变量
        10 = 20; // 错误写法
        var num = 10;
        20 = num; // 错误写法
      
    • 多个赋值运算符可以组成 赋值表达式, 赋值表达式具备右结合性
      // 从右至左计算
      //  先将10赋值给变量c, 然后将变量c中存储的值赋值给变量b
      // 然后将变量b中存储的值赋值给变量a, 最后a,b,c存储的都是10
      a = b = c = 10;
      

  • 复合赋值运算符:
    • += 加后赋值 变量+=表达式 如:a+=3;即a=a+3
    • -= 减后赋值 变量-=表达式 如:a-=3;即a=a-3
    • = 乘后赋值 变量=表达式 如:a=3;即a=a3
    • /= 除后赋值 变量/=表达式 如:a/=3;即a=a/3
    • %= 取模后赋值 变量%=表达式 如:a%=3;即a=a%3
  • 复合赋值表达式运算
    • 格式: 变量 复合赋值运算符 表达式; 如: a *= 1 + 2;
    • 由于赋值运算符是右结合性, 所以会先计算等号右边, 然后再进行复合运算
      var value = 5;
      value *= 2 - 2; // 等价于  value = 5 * (2 - 2);
      console.log(value); // 0
      // 设想如果先计算复合运算符结果是什么?
      value = (5 * 2) - 2 = 10 - 2 = 8
      

自增运算符

  • 自增、自减运算符介绍
    • 在程序设计中,经常遇到“i=i+1”和“i=i-1”这两种极为常用的操作。
    • JavaScript语言为这种操作提供了两个更为简洁的运算符,即++和--,分别叫做自增运算符和自减运算符。
  • 自增、自减运算符求值过程
    • 无论运算符号在前还是在后, 变量在自身基础上都会改变
      var num = 1;
      num++; // 等价于 num = num + 1;
      console.log(num); // 2
      
      num = 1;
      ++num;
      console.log(num); // 2
      
      num = 1;
      num--; // 等价于 num = num - 1;
      console.log(num); // 0
      
      num = 1;
      --num;
      console.log(num); // 0
      
    • 后缀表达式:x++, x--; 先用x的当前值作为表达式的值,再进行自增自减1运算。即“先用 后变”,也就是先用变量的值参与运算,变量的值再进行自增自减变化。
      var num = 1;
      num++; // 等价于 num = num + 1;
      console.log(num); // 2
      
      num = 1;
      ++num;
      console.log(num); // 2
      
      num = 1;
      num--; // 等价于 num = num - 1;
      console.log(num); // 0
      
      num = 1;
      --num;
      console.log(num); // 0
      
      • 前缀表达式:++x, --x; 其中x表示变量名,先完成变量的自增自减1运算,再用x的值作为表 达式的值;即“先变后用”,也就是变量的值先变,再用变量的值参与运算。
      var a, b;
      a = 10;
      b = 20;
      // ++ 在前, 变量先自增, 然后再参与其它运算
      res = (++a) + (++b);
      console.log(res); // 32
      console.log(a); // 11
      console.log(b); // 21
      
      a = 10;
      b = 20;
      // ++ 在前, 变量先自增, 然后再参与其它运算
      res = (--a) + (--b);
      console.log(res); // 28
      console.log(a); // 9
      console.log(b); // 19
      

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容