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

    一、逻辑运算符

    逻辑运算符
        && || !
        * 其他类型转boolean:
           1. number:0或NaN为假,其他为真
           2. string:除了空字符串(""),其他都是true
           3. null&undefined:都是false
           4. 对象:所有对象都为true
    
    -------------------------------------------------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>运算符</title>
        <script>
            //boolean
            var flag = true;
            document.write(flag + "<br>");
            document.write(!flag + "<br>");
            document.write("<hr>");
    
            //int
            var num = 3;
            document.write(!num+ "<br>")    //false
            document.write(!!num+ "<br>")   //true
    
            var num2 = 0;
            var num3 = NaN;
            document.write(!num2+ "<br>")   //true
            document.write(!!num + "<br>")  //true
            document.write(!num3+ "<br>")   //true
            document.write(!!num3+ "<br>")  //true
            document.write("<hr>");
    
            //string
            var str1 = "abc"
            var str2 = ""
            document.write(!!str1 + "<br>") //true
            document.write(!!str2 + "<br>") //false
            document.write("<hr>");
    
            //null undefined
            var obj = null;
            var obj2;
            document.write(!!obj + "<br>")  //false
            document.write(!!obj2 + "<br>") //false
            document.write("<hr>");
    
            var date = new Date()
            document.write(!!date + "<br>")
    
            //下面两个if是等价的
            if(obj != null && obj.length > 0) { //防止空指针异常
    
            }
    
            if(obj) {  //防止空指针异常
    
            }
    
        </script>
    
    </head>
    <body>
    
    </body>
    </html>


    二、三元运算

    三元运算符
        ? : 表达式
        var a = 3;
        var b = 4;
    
        var c = a > b ? 1:0;
        * 语法:
            * 表达式? 值1:值2;
            * 判断表达式的值,如果是true则取值1,如果是false则取值2;
    
    -----------------------------------------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>三元运算符</title>
        <script>
            var a = 3;
            var b = 4;
    
            var c = a > b ? 1:0;
            alert(c)
        </script>
    </head>
    <body>
    
    </body>
    </html>


    三、一元运算符

    运算符
        1. 一元运算符:只有一个运算数的运算符
            ++,-- , +(正号)  
            * ++ --: 自增(自减)
                * ++(--) 在前,先自增(自减),再运算
                * ++(--) 在后,先运算,再自增(自减)
            * +(-):正负号
            * 注意:在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
                * 其他类型转number:
                    * string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
                    * boolean转number:true转为1,false转为0
        2. 算数运算符
            + - * / % ...
    
        3. 赋值运算符
            = += -+....
    
    --------------------------------------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>一元运算符</title>
        <script>
            var num = 3;
            var a = ++ num;
            document.write(num); //4
            document.write(a);
            document.write("<hr>")
    
            var b = +"abc"
            alert(typeof (b)) //number类型
            alert(b + 1)  //NaN
            document.write("<hr>")
    
            var flag  = + true
            var f2 = + false
            document.write(typeof (flag) + "<br>")  //number
            document.write(flag + "<br>")  //1
            document.write(f2 + "<br>")  //0
        </script>
    </head>
    <body>
    
    </body>
    </html>


    四、算术&比较运算符

    算数运算符
        + - * / % ...
    
    ------------------------------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>算术运算符</title>
        <script>
            var a = 3;
            var b = 4;
    
            document.write(a+b + "<br>")  //7
            document.write(a-b + "<br>")  //-1
            document.write(a*b + "<br>")  //12
            document.write(a/b + "<br>")  //0.75
            document.write(a%b + "<br>")  //3
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
    
    
    
    比较运算符
        > < >= <= == ===(全等于)
        * 比较方式
          1. 类型相同:直接比较
              * 字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
          2. 类型不同:先进行类型转换,再比较
              * ===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
    
    ------------------------------
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>比较运算符</title>
        <script>
            document.write((3 > 4) + "<br>")  //false
            document.write(("abc" < "acd") + "<br>")  //true
            document.write(("123" == 123) + "<br>")  //true
            document.write(("123" === 123) + "<br>")  //false
        </script>
    </head>
    <body>
    
    </body>
    </html>
  • 相关阅读:
    .NET:CLR via C# The CLR’s Execution Model
    VisualStudio:WEB 性能测试和负载测试 入门
    Maven:Maven 入门
    技术人生:东莞之行
    技术人生:新的生活计划
    Java:使用 Java 开发的一个异常处理框架
    .NET:命令行解析器介绍
    技术人生:希望有生之年开发一个“自己的解释语言”
    .NET:异常处理的两条“黄金定律”,求批!
    FAQ:Domain Event 和 C# 中的 Event 有啥区别?
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/11511433.html
Copyright © 2011-2022 走看看