运算符

运算符

  • 运算元
    运算符应用的对象。
    1 + 2 = 3

  • 一元运算符
    只有一个运算元的运算符。

         var a = -1;
         a = -a;
     表达式:
         由运算符和变量/常量组成的式子
             a+1 1+2 3+5 5-4 a-b c*d
    

数学运算符

常见的数学运算符
+ - * /
% 指数:**

  • 多个数字和字符相加时,注意顺序不同,结果也会不同

         var a =  3 + 4 +'5' ; 75
         var a = '3' + 4 + 5 ;345
         1-'2' -1
        1 * '3' 3
    
  • 余数运算符%

    返回前一个运算云被后一个运算元除之后得到的余数。
    5%2=1 5/2=2…1
    【注】运算结果的正负号是由第一个运算元的正负号决定的。

  • 指数运算符

         2**4 2的四次方
         平常运算符:左结合
         指数运算符:右结合
    
  • 数值运算符,负数值运算符

         + - 
         作用在string与其他数据类型上时 是拼接
         作用在两个数值上时,是相加
         作用在一个数值上时  是正负运算。如果该数据类型不是数值,会自动转换为数值。
         a=-1;
         a=+a;
    

一元运算符

  • 一元运算符
    只作用在一个运算元上的运算符叫做一元运算符。
    ++ –
    a++
    先返回a的值,然后在对a进行+1运算。
    ++a
    先对a进行+1运算 再返回a的值。
    a–
    先返回a的值,然后在对a进行-1运算。
    –a
    先对a进行-1运算 再返回a的值。
    【强调】++ – 会被变量进行数值的修改

赋值运算符

赋值运算符 右结合
基本:= 将右边的值赋值给左边的变量
复合:+= -= *=

关系运算符

    >       大于
    <       小于
    ==      相等
    ===     严格相等
    !=      不等
    !==     严格不相等
    <=      小于等于
    >=      大于等于
  • 比较结果为boolean类型

  • 字符串比较

         会使用字典(ASCII码值)的顺序进行判断的.
         1.首先比较首字符大小。
         2.如果一方字符较大(较小),则该字符大于(小于)另外一个字符,算法结束。
         3.两个字符串的首字符相等,那么取下一位字符进行比较。
         4.重复以上步骤,直到算法结束或所有字符比较完成。
         5.若所有字符比较完成,且都相等,则两个字符相等。
    
  • 不同类型的比较
    字符串与数字比较时,若字符串不能转为数字,转换结果为NaN, 比较结果为false。
    ===
    相等比较的问题:不能区分0和false,空字符串等的区别。
    严格相等运算符,不会进行类型的自动转换,若类型不同,直接返回false。类型相等,再进行比较。

  • 对特殊值 null 和 undefined的比较

         null和undefined与其他任何值比较都是false。
         null与undefined 非严格相等时,返回true
                         严格相等比较时,返回false
         对变量进行null,undefined判断时,尽量使用严格相等
    

逻辑运算符

  • 逻辑运算符
    取反运算符:!
    与运算:&&
    或运算:||

  • 取反运算符

         用于将布尔值变为它的相反数。true=>false  false=>true;
    
  • &&
    往往用于多个表达式的求值。
    左右两边的布尔值为true,结果的布尔值为true 若其中一个为false,结果的布尔值为false;

         运算规则:
             1.第一个运算元的布尔值为true时,返回第二个运算元的值。(不是布尔值)
             2.第一个运算元的布尔值为false时,返回第一个运算元的值。不会执行第二个表达式。
    
         &&可以连用,返回第一个布尔值为false的表达式的值。如果所有的表达式的布尔值都为true,返回最后一个表达式的值。
    
  • ||
    左右两边的布尔值只要有一个为true,结果的布尔值就为true。只有两边的布尔值都为false时,结果的布尔值才为false。

         运算规则:
             1.第一个运算元的布尔值为true时,返回第一个运算元的值。不会执行第二个表达式。
             2.第一个运算元的布尔值为false时,返回第二个运算元的值。
    

    && 与 || 都有短路的效果。

三元运算符

  • 三元运算符
    语法:表达式1?表达式2:表达式3
    表达式1是一个条件,值是boolean类型的。
    若表达式1的值为true,则执行表达式2的操作,并返回表达式2的结果。
    若表达式1的值为false,则执行表达式3的操作,并返回表达式3的结果。

优先级

  • 优先级
    ±*/ 先乘除后加减
    ()优先级最高
    = 赋值运算符的优先级最低
    ()

  • 一元运算符

         *、/、%
         +、-
         <= >=
         == != === !==
         &
         &&
         ?:
         复合赋值 += -=
         赋值 = 
    

&& 与 &
&&有短路效果,而&是没有短路效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值