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>
复制代码
posted @   米兰的小铁將  阅读(279)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示