zoukankan      html  css  js  c++  java
  • JavaScript表达式和运算符 —— 基础语法(4)

    JavaScript基础语法(4)

    运算符

    运算符用于将一 个或者多个值变成结果值。

    使用运算符的值称为操作数,运算符和操作数的组合称为表达式

    JS中的运算符可以分成下面几类:

    1. 算术运算符
    2. 逻辑运算符
    3. 比较运算符
    4. 字符串运算符
    5. 位操作运算符
    6. 赋值运算符
    7. 条件运算符

    一、算数运算符

    算数运算符是最简单,也是最常见的运算符,就是加减乘除...

    运算符 表达式 说明 示例
    + x + y 返回x加y的值 x=5 + 2,结果为7    
    - x - y 返回x加y的值 x=5 - 2,结果为3
    * x * y 返回x乘以y的值 x=5 * 2,结果为10
    / x / y 返回x除以y的值(取商) x=5 / 2,结果为2
    % x % y 返回x除以y的模(取余) x=5 % 2,结果为1
    ++ x++; ++x  返回数值递增;递增并返回数值 5++;++5,结果为5; 6
    -- x--; --x 返回数值递减;递减并返回数值 5--;--5,结果为5;4

    这里注意:

    • x++ 是将自身的值赋给变量,之后自身再加1;也就是先执行当前的代码,完了之后加1,x--同理。
    • ++x 是将自身+1 后的值赋给变量,同时自身加1;也就是先加1,然后执行后面的代码,--x同理。

     

    二、逻辑运算符

    运算符 表达式 说明 示例
    && 表达式1 && 表达式2 与,若2个表达式值都为true,返回true,否则返回false

    5>1 && 5<10 返回true

    5>1 && 5>10 返回false

    || 表达式1 || 表达式2 或,若2个表达式值都为false,返回false,否则返回true

    5>1 || 5>10 返回true

    5<1 || 5>10 返回false

    ! !表达式 非,若表达式值为false,返回true,否则返回false

    !(5>1) 返回false

    !(5<1) 返回true

    三、比较运算符

    运算符 表达式 说明 示例
    == 表达式1 == 表达式2 等于,判断左右两边表达式是否相等

    age == 18

    //比较age是否等于18

    != 表达式1 != 表达式2 不等于,判断左右两边表达式是否不相等

    age != 18

    //比较age是否不等于18

    > 表达式1 > 表达式2 大于,判断左边表达式是否大于右边表达式

    age > height 

    //比较age是否大于height

    < 表达式1 < 表达式2 小于,判断左边表达式是否小于右边表达式

    age < height 

    //比较age是否小于height

    >= 表达式1 >= 表达式2 大于等于,判断左边表达式是否大于等于右边表达式

    age >= height

    //比较age是否大于等于height

    <= 表达式1 <= 表达式2 小于等于,判断左边表达式是否小于等于右边表达式

    age <= height

    //比较age是否小于于等于height

    注意:

    • 比较运算符的结果是布尔值
    • = 是赋值运算符,== 是比较运算符别弄混了,北冥曾弄混过,被老师扣分老惨(~.~)

    四、字符串连接符

    就一个“+”,对两个或者多个字符串进行连接的操作。

    var str1="beiming":
    var str2="love";
    var str4=str1+str2 ;//结果为" beiminglove"
    var str5=str1+" "+str2 ;//结果为"beiming love"
    var a="5", b="20", c=a+b;//c 的结果为"520"
    var A=5,B=20,C=A+B;//C的结果为25

    注意:当+号操作的是字符串型时,表示链接字符串,操作数值型时,做加法运算。

     

    五、位运算符

    位操作符,是对数值的二进制位进行操作,如做左移,右移等等。

    运算符 表达式 说明
    & 表达式1 & 表达式2 当两个表达式的值都为true时返回1,否则返回0
    | 表达式1 | 表达式2 当两个表达式的值都为false时返回0,否则返回1
    ^ 表达式1 ^ 表达式2 两个表达式中有且只有一个为false时返回1,否则返回0
    << 表达式1 << 表达式2 将表达式1向左移表达式2指定的位数
    >> 表达式1 >> 表达式2 将表达式1向右移表达式2指定的位数
    >>> 表达式1 >>> 表达式2 将表达式1向右移表达式2指定的位数,空位补0
    ~ ~表达式 将表达式的值按二进制逐位取反
    console.log(true & true);//结果:1
    console.log(false | false);//结果:0
    console.log(true ^ false);//结果:1

    这里可以参考进制与转换:https://www.cnblogs.com/beimingdaoren/p/12771047.html

    console.log(1 >> 1);
    //这里我们以8bt为例,首位表符号(0表正数1表负数)
    //1的二进制源码为00000001,右移1位后:00000000,结果为0
    
    console.log(1 << 1);
    //1的二进制源码为00000001,左移1位后:00000010,结果为2
    
    console.log(2 >>> 1);
    //2的二进制源码为00000010,左移1位并且空位补0后:00000001,结果为1
    //处理正数与>>差不多,但是处理负数时,使用补码形式就有很大区别
    
    console.log(~1);
    //1的源码:00000001,~逐位取反后:100000010,结果为~2
    //位非运算实际上就是对数字进行取负运算,再减 1。

    七、赋值运算符

    运算符 表达式 说明
    = 变量 = 表达式 将表达式值赋予变量
    += 变量 += 表达式 将表达式值与变量值执行+加法操作后赋予变量
    -= 变量 -= 表达式 将表达式值与变量值执行-减法操作后赋予变量
    *= 变量 *= 表达式 将表达式值与变量值执行*乘法操作后赋予变量
    /= 变量 /= 表达式 将表达式值与变量值执行/除法操作后赋予变量
    %= 变量 %= 表达式 将表达式值与变量值执行%取余法操作后赋予变量  
    <<= 变量 <<= 表达式 对变量按表达式的值向左移
    >>= 变量 >>= 表达式 对变量按表达式的值向右移
    >>>=  变量 >>>= 表达式 对变量按表达式的值向右移,空位补0
    &= 变量 &= 表达式 将表达式的值与变量执行&操作后赋予变量
    |= 变量 |= 表达式 将表达式的值与变量执行|操作后赋予变量
    ^= 变量 ^= 表达式 将表达式的值与变量执行^操作后赋予变量

    八、条件运算符

    条件运算符也叫三目运算符

    语法:

    条件表达式? 值1 : 值2;

    例子:

    console.log(2>1 ? "2>1为真" : "2<1位假");//结果:2>1为真
    console.log(1>2 ? "1>2为真" : "1<2位假");//结果:1>2为假
  • 相关阅读:
    destoon手机端mobileurl函数增加城市分类参数
    jCarousel,jQuery下的滚动切换传送插件
    jQuery plugin : bgStretcher 背景图片切换效果插件
    jquery图片切换插件jquery.cycle.js参数详解
    destoon 后台管理左侧新增菜单项
    destoon 列表页面增加手动选择排序方式
    jQuery 淡入淡出有png图的时候 ie8下有黑色边框
    java中Array和ArrayList区别
    趣味理解ADO.NET对象模型
    两个datatable的比较
  • 原文地址:https://www.cnblogs.com/beimingdaoren/p/12757778.html
Copyright © 2011-2022 走看看