zoukankan      html  css  js  c++  java
  • JavaScript操作符-3---算数,逻辑,赋值,比较,三元

    JavaScript操作符

    学习目标

    1.掌握什么是表达式

    2.掌握javascript操作符的分类

    3.掌握算数操作符

    什么是表达式

    将类型的数据(如常量、变量、函数等),用运算符号按一定的规则链接起来的、有意义的式子称为表达式。

    操作符的分类

    1.算数操作符

    2.逻辑操作符

    3.赋值操作符

    4.比较操作符

    5.三元操作符

    JavaScript操作符-算数操作符

    (隐式类型转换“5”)

     

    +:加

    -:减

    *:乘

    /:除

    %:取余

    递增和递减

    1.递增: ++a与a++都是对进行递增的操作

    区别: ++a先返回递增之后的a的值(1+a)

          a++先返回a的原值,再返回递增之后的值

    2.递减同理  

    <script>
           var num1=10,
               num2=5,
               num3=num1++-num2,    // ++num1  num1=num1+1
               x1=20,
               x2=30,
               x3=--x1+x2--;

           console.log(num1);  //  11   // 11
           console.log(num3);  // 16    // 5

           console.log(x1);    // 19
           console.log(x2);    // 29
           console.log(x3);    // 19+30=49
        </script>

    JavaScript操作符-赋值操作符

    赋值操作符

    简单赋值:=

    复合赋值:+=、-=、*=、/=、%=

        <script>
          var a=10;
          var b=20;
          var str="hello ";
          a+=5;        // a=a+5
          b%=4;        // b=b%4;
          str+=" world";     // str=str+"world";
          console.log(str);      // hello world
          console.log(a>b);      // true
        </script>

    JavaScript操作符-比较操作符

    >、<、>=、<=、==、===、!=、!==

    ==: 相等,只比较值是否相等

    ===:相等,比较值的同时比较数据类型是否相等

    !=:不相等,比较值是否不相等

    !===:不相等,比较值的同时比较数据类型是否相等

    返回值:boolean型

      var x=10,
              y="10",
              m=15,
              //z=x==y;    // 值是否相等
              z=x===y,    // 全等
              n=x!==y;
          console.log(n);  // true

          console.log(null===undefined);  //  false

    JavaScript操作符-三元操作符

    var soce=55;

    Var result=(soce>=60)?“及格”:“不及格”

    Console.log(result)

    语法:条件?执行代码1:执行代码2

    说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

    var soce=55;
          var result=(soce>=60)?"及格":"不及格";

          console.log(result);  //  不及格

    JavaScript操作符-逻辑操作符

    逻辑操作符

    &&:与,并且

    ||:  或

    !:非

     

    &&:与,并且(同时所有条件成立,返回true。只有一个条件不成立,返回false)

    说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,

    此时它遵循下列规则:

    1.如果第一个操作数隐式类型转换后为true,返回最后一个操作数

    2.如果第一个操作数隐式类型转换后为false,则返回第一个操作数

    3.如果有一个操作数是null,则返回null

    4.如果有一个操作数是NaN,则返回NaN

    5.如果有一个操作数是undefined,则返回undefined

     

    ||:或(只要有一个条件成立,返回true)

    说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,

    此时它遵循下列规则:

    1.如果第两个操作数隐式类型转换后为true,返回第一个操作数

    2.如果第两个操作数隐式类型转换后为false,则返回第二个操作数

    3.如果有两个操作数是null,则返回null

    4.如果有两个操作数是NaN,则返回NaN

    5.如果有两个操作数是undefined,则返回undefined

     

    !:非

    说明:1.无论操作数是什么类型,逻辑非都会返回一个布尔值

          2.!!同时使用两个逻辑非操作符时:

          第一个逻辑非操作非会基于无论什么操作数返回一个布尔值,

          第二个逻辑非则对布尔值求反。

    <script>
           var num1=10,
               num2=20,
               num3=30,
               str="welcome",
               bool=true,
               n=null,
               m;

          /* console.log(num1<num2 && num2<num3);  // true

           console.log(num1<num2 && num2==num3);  // 所有条件都为true才返回true

           console.log(num2<num3 && num3>num1 && false);*/

          /* console.log(str && num3);  // 30 "" false  true  0 false true

           console.log(80 && 55);

           console.log("hello" && 65 && "abc");  // abc

           console.log(0 && 88);

           console.log("" && 0 && 30>20);*/
           console.log(n && num3);         //   null
           console.log(55 && true && 33*"abc");    //  NaN
           console.log(m && true);    //  undefined
        </script>

     

     

    <script>
           var m;
           /*console.log(55>88 || 33<66);
           console.log(55!="55" || 88==="88");

           console.log("hello" || 0);     // hello
           console.log(99 || 0 || "abc"); // 99
           console.log("" || 88 || true); // 88
           console.log("" || 0 || "abc");  // abc
           console.log(0 || "" || null); // null  
           console.log(0 || "" || null || "hello");  // hello
           console.log(m || NaN || 99);  // 99
           console.log("" || m);  // undefined
           console.log(30*"abc" || 55-"def");  // NaN*/

           // 非
           console.log(!false);  // true
           console.log(!88);  // false
           console.log(!0);   // true
           console.log(!"red");  //false
           console.log(!NaN);   //true
           console.log(!null);   //true

           console.log(!!"");  // false
           console.log(!!"blue");  //true
        </script>

  • 相关阅读:
    小明铺路
    Python库-BeautifulSoup
    Python库-re(正则表达式)
    cpp分解质因数
    cf Double Happiness(判断是否为素数且为4k+1型)
    ACM-世界岛旅行
    C#(.Net)中调用Sql sever汉字字符串显示为?问号
    如何配置Python环境
    记账软件——第三天
    记账软件——第二天
  • 原文地址:https://www.cnblogs.com/oybb/p/7631100.html
Copyright © 2011-2022 走看看