阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript 算术运算符

      重点

      算术运算符包括:+-*/%

      复合赋值运算符:+=-=*=/=%=

      虽说按照运算符来进行写的,但是不仅仅对数字有作用,和其他类型进行操作的场景,也会在本系列教程中一并写出来,这样总结学习的时候,会更加的深刻;

      重中之重: 做操作时候,一定要把值全部转为数字类型,这是一个很好的习惯;一定要避免2个字符串在一起操作;尤其是不要出现一个数字和字符串进行相加操作;

      如果你真的想那么做,请尽量避免隐式转换,显示的都给转成字符串;

      注意:NaN和任何数操作,结果都返回NaN

      算术运算符

      算术运算符包括:+-*/%

      +(加号)

      • 功能:

        • 1、对数字进行代数求和
        • 2、对字符串进行连接操作
        • 3、将一个数值转换成字符串
      • 字符串拼接

        • 字符串+字符串—两者直接拼接
        • 字符串+数值—数值转为字符串再拼接
        • 如果有一个操作数是对象、数值或布尔值
          • 则调用它们的 toString() 方法取得相应的字符串值,然后再应用前面关于字符串的规则。
      var strEmpty="";
      var testNum=222;
      var targetData=strEmpty+testNum;
      console.log(typeof testNum);//number
      console.log(typeof targetData);//string
      
      //多次运算
      var testOne="字符串";
      console.log(testOne+2+5);//字符串25
      console.log(testOne+(2+5));//字符串7
      

      如果数值和字符串一起混,数值类型的用 () 包裹,提高优先级;否则是字符串+2;计算的结果再+5;

      -(减号)

      功能如下

      • 对操作数进行”取反”操作
      • 对数字进行减法操作
      • 将字符串转换成数值
        • 数值型字符串-0;

      *和/(乘除)

      • 功能:对两个运算数进行乘法(除法)运算;
      • 符号问题:同号得正,异号得负;
      • 如果有一个操作数不是数值,则在后台调用 Number() 将其转换为数值,然后再应用上面的规则。
      • 如果有一个操作数是 NaN ,则结果是 NaN ;

      %(求余/求模)

      • 功能:返回两个除数的余数
      • 符号问题:和第一个运算数的符号相同;
      • 如果被除数是零,则结果是零;
      • 如果有一个操作数不是数值,则在后台调用 Number() 将其转换为数值,然后再应用上面的规则。
      var times=123453;//求多少分,多少秒;
      var targetTime=parseInt(times/60)+"分"+times%60+"秒";
      console.log(targetTime);
      //思考:等于多少天,多少小时,多少分,多少秒
      

      操作数类型和结果类型

      运算符通常会根据需要对操作数进行类型转换;比如【*】【/】的时候,可以把字符串转为数值;

      console.log("5"+"3");//53
      console.log("5"-"3");//2
      console.log("5"*"3");//15
      console.log("15"/"3");//5
      

      赋值操作符

      =:赋值

      var a=10;
      

      +=:加赋值

      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;
      
      目录
      目录