Web全栈工程师之路(三)——JavaScript篇(六)——运算符(三)

以下是html代码,个人建议放在IDE里运行,边看效果,边学习~

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS初步(六)——运算符(三)</title>
    <script>
        /*  
            = 赋值运算符
                - 将符号右边的值赋值给符号左边的值
            
                += 等价于 a = a + b
                -= 等价于 a = a - b
                *= 等价于 a = a * b
                /= 等价于 a = a / b
                %= 等价于 a = a % b
        
            关系(大小)运算符
                - 关系成立返回true,否则返回false
                > 大于
                >= 大于等于
                < 小于
                <= 小于等于
            
                非数值的情况
                    - 对于非数值的比较,会先转换为数值,再比较
                    - 任何值和NaN做比较都得NaN
                    - 当左右两边都是字符串类型的时候,不会将其转换为数值,
                    而会分别比较字符串中字符的Unicode编码
                    比较字符编码时是一位一位进行比较,如果第一位出结果,后面的就不再比较
                    如果两位一样,则比较下一位,所以借用它来对英文进行排序
                    比较中文时没有意义
                    如果比较的两个字符串型的数字,可能会得到不可预期的结果
                    注意: 在比较两个字符串型的数字时,一定要转型
            
            == 相等运算符
                - 两者相等返回true
                - 如果值的类型不同,则会自动进行类型转换,再比较
                - undefined衍生自nu1l,所以这两个值做相等判断时,会返回true
                - NaN不和任何值相等,包括它本身,所以常用的判断值是否是NaN的方法失效了
                  在这个时候可以用isNaN()的函数来判断
            != 不相等运算符
                - 同理相等运算符

            条件运算符(三元运算符/三目运算符)
                - 语法:条件表达式?语句1:语句2;
                - 执行的流程:
                    - 条件运算符在执行时,首先对条件表达式进行求值
                    - 如果该值为true,则执行语句1,并返回执行结果
                    - 如果该值为false,则执行语句2,并返回执行结果
                - 如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值然后再运算

            , 运算符
                - 使用,可以分割多个语句,一般可以在声明多个变量时使用
            
            运算符的优先级
                - 先乘除,后加减
                - 先&&后||
                - 自行查表
                - 如果优先级一样,则从左往右计算
                - 可以使用()来改变优先级

            Unicode编码
                - 输出四位编码时前面加一个\u好让计算机识别身份
                - 注意:有些字符不支持,而且编码是十六进制的
            
            代码块 {}
                - 在JS中可以使用{}来为语句进行分组
                  同一个{}中的语句我们称为是一组语句
                  它们要么都执行,要么都不执行
                  一个{}钟的语句我们也称为代码块
                - 虽然都执行,但是在执行的过程中还是有先后顺序的
                - 尾部不用写分号;
                - 只具有分组的作用,无其它用途
         */

        //赋值运算符
        var a = 10;
        a += 5; //a = a + 5
        console.log(a); //输出15
        var a = 10;
        a -= 5; //a = a - 5
        console.log(a); //输出5

        //相等运算符
        var a = 10;
        console.log(a == 4); //输出false
        console.log("1" == 1); //输出true
        console.log(true == "1"); //输出true
        console.log(null == 0); //输出false
        console.log(null == undefined); //输出true
        console.log(NaN == NaN); //输出false

        //判断b的值是否是NaN
        var b = NaN;
        console.log(isNaN(b)); //输出true

        //条件运算符
        true?alert("语句1"):alert("语句2");
        false?alert("语句1"):alert("语句2");

        //获取a、b中的最大值
        var a = 10;
        var b = 20;
        var c = 30;
        var max = a > b?a:b; //如果a大于b返回a,否则返回b
        console.log("max = " +max); //输出20
        var max = a>b?(a>c?a:c):(b>c?b:c);
        console.log("max = " +max); //输出30

        //运算符的优先级
        var a = 1 || 2 && 3;
        console.log('a的值:',a); //输出1

        //Unicode编码输出
        console.log("\u2620"); //输出骷髅头

        //代码块
        {
            console.log("1");
            alert("2");
            document.write("3");
        }
        
    </script>
</head>
<body>
    <!-- 
        在网页中使用Unicode编码
        &#编码;
        这里的编码需要的是10进制
    -->
    <h1 style="font-size: 100px;">&#9760;</h1>
</body>
</html>

代码效果:

 

 

猜你喜欢

转载自www.cnblogs.com/lyrebirth-world/p/12887968.html