zoukankan      html  css  js  c++  java
  • 运算符详解

        1,算术运算符

    运算符

    含义

    实例

    +

    加法运算

    (3+4)=7

    -

    减法运算

    (3-4)=-1

    *

    乘法运算

    (3*4)=12

    /

    除法运算

    (3/4)=0.75

    %

    取模运算(取余)

    (3%4)=3

    ++

    自加运算

     

    --

    自减运算

     

    -

    取反运算

    -(3+4)=-7

    说明:其中自加和自减运算符,又可划分为前缀和后缀!

    如果位于前缀的话,将先进行自加或自减再投入计算;

    如果位于后缀的话,将先投入计算,运算完毕后才进行自加或自减操作!

    var a=2;    var b=++a;               //最后b的值为变量a自加后的值3

    var a=2;    var b=a++;    var c=a;    //最后变量b的值为变量a的值2;变量c的值则为变量a自加后的值3

      

        2,  赋值运算符

          

    运算符

    含义

    分解表达式

    =

    赋值

    a =b

    +=

    相加后赋值

    a=a+b

    -=

    相减后赋值

    a=a-b

    *=

    相乘后赋值

    a=a*b

    /=

    相除后赋值

    a=a/b

    %=

    取模后赋值

    a=a%b

    注意:赋值运算符还可以同时应用于多个变量!

    var a=1,b=1,c=1;     a=b=c=100;   

    最终变量abc的值都为100

    var a=1,b=1,c=1;    a+=b-=c*=100;    

    最终c的值=c*100=1*100=100b的值=b-c=1-100=-99a的值=a+b=1+(-99)=-98

    像这种赋值方式,其运算方向是从右到左,而不是一昧地将各个变量的值赋为最右边的值,切记!

          3,    关系运算符

    运算符

    含义

    实例

    >

    大于

    (3>4)=false

    >=

    大于等于

    (4>=3)=true

    <

    小于

    (3<4)=true

    <=

    小于等于

    (4<=3)=false

    !=

    不等于

    (“3”!=3)=false

    !==

    严格不等于

    (“3”!=3)=true

    ==

    等于

    (“3”==3)=true

    ===

    严格等于

    (“3”===3)=false

    1. 使用”==”和”!=”这组普通运算符进行两个表达式的比较时,JavaScript将会先将两个表达式的值尽量转换为相同类型的值,然后在进行比较!

    (“123”==123) = true            (null==undefined) = true

    注意:虽然使用==会在比较之前将两个表达式的值转换为相同类型,但是某些情况并没有按照我们的预期得到结果:

    (2 == true) = false              (2 == false) = false          Boolean(2) = true

    1. 使用”===”和”!==”这组严格运算符进行两个表达式的比较时,JavaScript将不会对两个表达式进行类型转换,不同类型的值将不相等!

    (“123”===123) = false            (null===undefined) = false

    1. 为了使代码中拥有更少技巧性的东西,使代码拥有更好的可读性,请坚持使用严格等于“===”,而不要使用普通等于“==”。

      4,逻辑运算符

               

    运算符

    含义

    实例

    !

    逻辑非运算

    真即假,假即真!

    !true = false

    !false = true

    &&

    逻辑与运算

    两两为真方为真!

    true && false = false

    true && true = true

    false && false = false

    false && true= false

    ||

    逻辑或运算

    任一为真即为真!

    True|| false =true

    True|| true = true

    false || false = false

    false || true= false

     

    说明:在进行逻辑或运算时,如果是将其结果赋值给一个变量,则就要参照另一z种情况了。此时的运算结果为:如果运算符前的值转换为布尔型之后的值为true,则返回该值的实际结果;否则返回运算符后的值的实际结果!

    如:alert(0 || 3);  将输出:3

        alert(2 || 4);  将输出:2

     5,字符串运算

    运算符

    含义

    实例

    +

    将两个参数拼接成一个字符串,只要一方参数为字符串,那么就会进行该种操作!

    123 + “123” = “123123”

    +=

    只要该运算符左边的变量或者右边的表达式有一方为字符串,那么就会进行字符串的拼接操作!

    var a=”123”;

    a+=123;

    //变量a的最终值为:”123123”

    6.其他运算符

         typeof()

        查看相应变量的数据类型,返回值为字符串型!

    typeof(“abc”) = "string"      //注:返回的结果是一个字符串类型的值

         三目条件运算符(?:)

         该运算符的运算方法为:首先需要计算问号”?”前的表达式的真假。如果结果为真,则取冒号”:”左侧的值并返回;如果结果为假,则取冒号”:”右侧的值并返回!

    (1>2)?1:2 = 2

          逗号运算符(,

      该运算符将多个运算表达式通过逗号(,)将表达式连接在一起,求值顺序从左至右!

     

    a=1,a++,a+=2;               //最后a的值为4

     

         运算顺序

    运算符的优先级和结合性

    优先级

    运算符

    含义

    结合方向

    1

    ()

    圆括号

    从左到右

    []

    数组下标或对象属性访问

    .

    属性访问

    2

    逻辑非

    从右到左

    ~

    按位取反

     

    ++

    自增

     

    --

    自减

     

    -

    符号

     

    delete

    删除对象属性或数组元素

     

    new

    调用构成函数创建对象

     

    typeof

    检测数据类型

     

    void

    未定义值

     

    3

    *

    乘法

    从左到右

    /

    除法

     

    %

    取模

     

    4

    +

    加法

    从左到右

    -

    减法

    5

    <<

    左移

    从左到右

     

    >>

    右移

     

     

    >>>

    无符号右移

     

    6

    <

    小于

    从左到右

     

    <=

    小于等于

     

     

    >

    大于

     

     

    >=

    大于等于

     

    instanceof

    检测对象是否为指定类的实例

    7

    ==

    等于

    从左到右

    !=

    不等于

     

    ===

    严格等于

     

    !==

    严格不等于

     

    8

    &

    按位与

    从左到右

    9

    ^

    按位异或

    10

    |

    按位或

    11

    &&

    逻辑非

    12

    ||

    逻辑或

    13

    ?:

    条件表达式

    从右到左

    14

    =

    赋值

    从右到左

     

    +=

    进行加法运算后赋值

     

     

    -=

    进行减法运算后赋值

     

     

    *=

    进行乘法运算后赋值

     

     

    /=

    进行除法运算后赋值

     

     

    %=

    进行取模运算后赋值

     

     

    >>=

    进行右移运算后赋值

     

     

    >>>=

    进行无符号右移运算后赋值

     

     

    <<=

    进行左移运算后赋值

     

     

    &=

    进行按位与运算后赋值

     

     

    |=

    进行按位或运算后赋值

     

     

    ^=

    进行按位异或运算后赋值

     

    15

    ,

    顺序求值

    从左到右

     

  • 相关阅读:
    Delphi 2010下安装IOComp
    为自定义控件的某个属性添加像Winform控件中属性的注释
    C#WinForm仿qq窗体拖到windows窗体边上时,自动隐藏C#WinForm
    给图片添加水印,解决GIF添加水印的问题(无法从带有索引像素格式的图像创建 Graphics 对象)
    怎样把Image数据放入数据库
    取消IE“已限制此网页运行可以访问计算机的脚本
    sql 二进制文件的导入导出
    [转载]数据结构笔试题基础
    [转载]搜索算法(含基本搜索算法与深度搜索与广度搜索算法等思想)
    [转载]面试笔试总结
  • 原文地址:https://www.cnblogs.com/lrgupup/p/9266585.html
Copyright © 2011-2022 走看看