zoukankan      html  css  js  c++  java
  • JavaScript-----5.运算符

    1. 运算符(操作符)

    JavaScript中常用的运算符有:

    • 算数运算符
    • 递增递减运算符
    • 比较运算符
    • 逻辑运算符
    • 赋值运算符

    2. 算数运算符

    +; -; *; /(10/20=0.5); %(取余数,取模9%2=1)

    2.1浮点数进行算数运算

    //程序里利用浮点数进行算数运算会产生误差,这里应该尽量避免用浮动数进行算数运算,针对这个问题之后会有其他的方法。
    console.log(0.1 + 0.2);//0.30000000000000004
    console.log(0.07 * 100);//7.000000000000001
    //不可以直接用浮点数来进行相比较 是否相等 所以不要之间判断两个浮点数是否相等
    var num = 0.1 + 0.2;
    console.log(num == 0.3);//false
    

    2.2表达式和返回值

    表达式:数字、运算符、变量等以能求得数值的有意义的排列方法所得到的组合。
    返回值:表达式都会有一个最终的结果返回给我们,这个结果称为返回值

    3. 递增递减运算符

    (++)和(--)递增递减运算符必须和变量配合使用,++2是无效的

    3.1前置递增

    • 前置递增单独使用的时候:++num;等效于num=num+1;

    • 前置递增非单独使用的时候:先num自己加一,之后表达式++num;返回当前的num值。

    //++num
    var num = 10;
    console.log(++num + 10);//21
    

    3.2后置递增

    • 后置递增单独使用的时候: num++;等效于num=num+1;

    • 后置递增非单独使用的时候: 表达式num++;先返回当前的num值,之后num自己加一。
      变量永远比表达式大1

    //count++
    var count = 10;
    console.log(count++ + 10)//20  (先返回值,后自加1)
    console.log(count);//11
    

    注意:console.log(count++)也是混合使用,也是先返回当前值再自加1。

    3.3小练习

    var a = 10; 
    ++a;  // a 是 11 ,++a是11
    var b = ++a +2;//a是12,++a是12,b是14
    console.log(b);//14
    
    var c = 10;
    c++;//c++是11,c是11
    var d = c++ +2;//c++是11,c是12,d是13,
    console.log(d);//12
    
    var e = 10;
    var f = e++ + ++e;//e++是10,e是11。  e是12,++e是12,f是22
    console.log(f);//22
    

    4. 比较运算符

    比较运算后,会返回一个bool值作为比较运算的结果。
    <; >; >=; <=; ; !=; =; !
    说明:全等
    =要求数值和数据类型都一致。

    console.log(18 == 18);//true
    //默认转换数据类型,将字符型的转换为数字型的再进行比较
    console.log(18 == '18');//true
    
    //全等
    console.log(18 === 18);//true
    console.log(18 === '18');//false
    

    5. 逻辑运算符

    用于进行布尔值运算的运算符,返回值也是一个布尔值,后面的开发中经常用于多个条件判断

    • 逻辑与&&
    • 逻辑或||
    • 逻辑非!
    //&&
    console.log(3 > 5 && 3 > 2);//false
    console.log(3 < 5 && 3 > 2);//true
    //||
    console.log(3 > 5 || 3 > 2);//true
    console.log(3 > 5 || 3 < 2);//false
    //!
    console.log(!true);//false
    

    5.1. 逻辑运算符短路运算(逻辑中断)

    原理:当有多个表达式(值)时,左边的表达式可以确定结果时,就不在继续运算右边的表达式的值了。
    (1)逻辑与

    • 语法:表达式1 && 表达式2
    • 如果第一个表达式为真,则返回表达式2
    • 如果第一个表达式为假,则返回表达式1
    console.log(123 && 456)//456
    console.log(0 && 456)//0
    console.log(0 && 1 + 2 && 456);//0
    console.log('' && 1 + 2 && 456);//''
    //0 null undefined NaN都为false
    

    (2)逻辑或

    • 语法:表达式1 || 表达式2
    • 如果第一个表达式为真,则返回表达式1
    • 如果第一个表达式为假,则返回表达式2
    //||
    console.log(123 || 456)//123
    console.log(123 || 456 || 456 + 123)//123
    console.log(0 || 456 || 456 + 123)//456
    

    (3)小练习

    var num = 0;
    console.log(123 || num++);
    console.log(num);//0
    

    6. 赋值运算符

    =
    +=; -=
    *=; /=; %=

    7. 运算符优先级

    优先级由高到低排列如下:
    1:小括号()
    2: 一元运算符: ++; --; !。一元运算符中逻辑非优先级最高
    3: 算数运算符: 先*/%后+-
    4: 关系运算符:> >= < <=
    5: 相等运算符:== != === !==
    6: 逻辑运算符:先&&后||
    7: 赋值运算符:=
    8: 逗号运算符

  • 相关阅读:
    Android_EditText 密码框默认是小圆点 怎么改成其它的(*)?
    Android_view的生命周期
    Android_对android虚拟机的理解,包括内存管理机制垃圾回收机制。dalvik和art区别
    Android_触摸事件传递机制
    Android_OnLowMemory和OnTrimMemory
    Android_ FragmentTabHost切换Fragment时避免重复加载UI
    位运算&字节运算
    C#编程简短总结
    IOS随机随学
    计算机图形学
  • 原文地址:https://www.cnblogs.com/deer-cen/p/11990501.html
Copyright © 2011-2022 走看看