zoukankan      html  css  js  c++  java
  • JavaScript基础视频教程总结(021-030章)

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title>021-030章总结</title>
    </head>
    <body>
    <pre>
    021. 赋值运算符
    =
    可以将符号右侧的值赋值给符号左侧的变量
    </pre>
    <script type="text/javascript">
        console.log("第021");
        /*
         * =
         *  可以将符号右侧的值赋值给符号左侧的变量
         * += 
         *  a += 5 等价于 a = a + 5
         * -=
         *  a -= 5 等价于 a = a - 5
         * *=
         *  a *= 5 等价于 a = a * 5
         * /=
         *  a /= 5 等价于 a = a / 5
         * %=
         *  a %= 5 等价于 a = a % 5
         *  
         */
        var a = 10;
        a %= 5;
        console.log("a = "+a); //0
    </script>
    
    <pre>
    022. 关系运算符
    通过关系运算符可以比较两个值之间的大小关系,
    如果关系成立它会返回true,如果关系不成立则返回false
    
    > 大于号
    - 判断符号左侧的值是否大于右侧的值
    - 如果关系成立,返回true,如果关系不成立则返回false
    
    >= 大于等于
    - 判断符号左侧的值是否大于或等于右侧的值
    
    '<' 小于号
    '<=' 小于等于
    
    非数值的情况
    - 对于非数值进行比较时,会将其转换为数字然后在比较
    - 如果符号两侧的值都是字符串时,不会将其转换为数字进行比较
    而会分别比较字符串中字符的Unicode编码
    </pre>
    <script type="text/javascript">
        console.log("第022");
        var result = 5 > 10;//false
        result = 5 > 4; //true
        result = 5 > 5; //false
        result = 5 >= 5; //true
        result = 5 >= 4; //true
        result = 5 < 4; //false
        result = 4 <= 4; //true
        console.log("result = "+result); //true
        
        console.log(1 > true); //false
        console.log(1 >= true); //true
        console.log(1 > "0"); //true
        console.log(10 > null); // null转换为数字为0,结果为true
        //任何值和NaN做任何比较都是false
        var any = 10 <= NaN ;
        console.log("NaN = " + any); //false
        console.log(10 <= "hello"); // 字符串中有非数字的内容,则转换为NaN, 结果为false
        console.log(true > false); //true
        
        console.log("1" < "5"); //true
        console.log("11" < "5"); //true
        
        //比较两个字符串时,比较的是字符串的字符编码
        console.log("a" < "b"); //true
        //比较字符编码时是一位一位进行比较
        //如果两位一样,则比较下一位,所以借用它来对英文进行排序
        console.log("abc" < "acd"); //true
        //比较中文时没有意义
        console.log("" > ""); //true
        
        //如果比较的两个字符串型的数字,可能会得到不可预期的结果
        //注意:在比较两个字符串型的数字时,一定一定一定要转型
        console.log("11123123123123123123" < +"5"); //false
        
    </script>
    
    <pre>
    023. Unicode编码表
    在网页中使用Unicode编码
    &#编码; 这里的编码需要的是10进制
    </pre>
    <h1 style="font-size: 50px;">&#9760;</h1>
    <h1 style="font-size: 50px;">&#9856;</h1>
    <script type="text/javascript">
        console.log("第023");
        /*
         * 在字符串中使用转义字符输入Unicode编码
         *  u四位编码
         */
        console.log("u2620");
    </script>
    
    <pre>
    024. 相等运算符
    ==
    相等运算符用来比较两个值是否相等,
    如果相等会返回true,否则返回false
    - 当使用==来比较两个值时,如果值的类型不同,
    则会自动进行类型转换,将其转换为相同的类型
    然后在比较
    !=
    不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
    - 使用 != 来做不相等运算
    - 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
    ===
    全等
    - 用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换
    如果两个值的类型不同,直接返回false
    !==
    不全等
    - 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
    如果两个值的类型不同,直接返回true
    </pre>
    <script type="text/javascript">
        console.log("第024");
        var d11 = 1==1 ;
        console.log("'1 == 1' = " + d11); //true
        console.log(10 == 4); //false
        console.log("1" == 1); //true
        console.log(true == "1"); //true
        console.log(null == 0); //false
        
        /*
         * undefined 衍生自 null
         *  所以这两个值做相等判断时,会返回true
         */
        var un = undefined==null ;
        console.log("'undefined==null' = " + un); // true
        
        /*
         * NaN不和任何值相等,包括他本身
         */
        var nn = NaN==NaN;
        console.log("'NaN==NaN' = " +nn); //false
        
        var b = NaN;
        //判断b的值是否是NaN
        console.log(b == NaN); //false
        /*
         * 可以通过isNaN()函数来判断一个值是否是NaN
         *  如果该值是NaN则返回true,否则返回false
         */
        console.log(isNaN(b)); //true
        
        console.log(10 != 5); //true
        console.log(10 != 10); //false
        //不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
        console.log("abcd" != "abcd"); //false
        console.log("1" != 1);//false
        
        console.log("123" === 123);//false
        console.log(null === undefined);//false
        
        console.log(1 !== "1"); //true
    </script>
    
    <pre>
    025. 条件运算符
    条件运算符也叫三元运算符
    语法:
    条件表达式?语句1:语句2;
    - 执行的流程:
    条件运算符在执行时,首先对条件表达式进行求值,
    如果该值为true,则执行语句1,并返回执行结果
    如果该值为false,则执行语句2,并返回执行结果
    如果条件的表达式的求值结果是一个非布尔值,
    会将其转换为布尔值然后在运算
    </pre>
    <script type="text/javascript">
        console.log("第025");
        
        true ? console.log("语句1"):console.log("语句2"); //语句1
        false ? console.log("语句1"):console.log("语句2"); //语句2
    
        var a = 300;
        var b = 143;
        var c = 50;
        
        a > b ? console.log("a大"):console.log("b大"); //a大
        
        //获取a和b中的最大值
        var max = a > b ? a : b;
        //获取a b c 中的大值
        max = max > c ? max : c;
        console.log(max); // 300
        //这种写法不推荐使用,不方便阅读
        var max = a > b ? (a > c ? a :c) : (b > c ? b : c);
        
        //console.log("max = "+max);
        
        "hello"?console.log("语句1"):console.log("语句2"); // "hello"转换为boolean值为true,结果为:语句1
        
    </script>
    
    <pre>
    026. 运算符的优先级
    就和数学中一样,在JS中运算符也有优先级,
    比如:先乘除 后加减
    在JS中有一个运算符优先级的表,
    在表中越靠上优先级越高,优先级越高越优先计算,
    如果优先级一样,则从左往右计算。
    但是这个表我们并不需要记忆,如果遇到优先级不清楚
    可以使用()来改变优先级
    </pre>
    <script type="text/javascript">
        console.log("第026");
        /*
         * , 运算符
         *  使用,可以分割多个语句,一般可以在声明多个变量时使用,
         */
        //使用,运算符同时声明多个变量
        //var a , b , c;
        //可以同时声明多个变量并赋值
        //var a=1 , b=2 , c=3;
        //alert(b);
        
        //var result = 1 + 2 * 3;
        
        /*
         * 如果||的优先级高,或者两个一样高,则应该返回3
         * 如果&&的优先级高,则应该返回1
         */
        var result = 1 || 2 && 3;
        
        console.log("result = "+result); // 1 说明&&优先级高
        
    </script>
    
    <pre>
    027. 代码块
    我们的程序是由一条一条语句构成的
    语句是按照自上向下的顺序一条一条执行的
    在JS中可以使用{}来为语句进行分组,
    同一个{}中的语句我们称为是一组语句,
    它们要么都执行,要么都不执行,
    一个{}中的语句我们也称为叫一个代码块
    在代码块的后边就不用再编写;了
    
    JS中的代码块,只具有分组的的作用,没有其他的用途
    代码块内容的内容,在外部是完全可见的
    </pre>
    <script type="text/javascript">
        console.log("第027");
        {
            var a = 10; 
            console.log("hello");
            console.log("你好");
        }
        console.log("a = "+a);
    </script>
    
    <pre>
    028. if语句1
    </pre>
    <script type="text/javascript">
        console.log("第028");
        /*
         * 流程控制语句
         *  - JS中的程序是从上到下一行一行执行的
         *  - 通过流程控制语句可以控制程序执行流程,
         *      使程序可以根据一定的条件来选择执行
         *  - 语句的分类:
         *      1.条件判断语句
         *      2.条件分支语句
         *      3.循环语句
         * 
         * 
         * 条件判断语句:
         *  - 使用条件判断语句可以在执行某个语句之前进行判断,
         *      如果条件成立才会执行语句,条件不成立则语句不执行。
         *  - if语句
         *  - 语法一:
         *      if(条件表达式){
         *          语句...
         *      }
         *          
         *      if语句在执行时,会先对条件表达式进行求值判断,
         *      如果条件表达式的值为true,则执行if后的语句,
         *      如果条件表达式的值为false,则不会执行if后的语句。
         *          if语句只能控制紧随其后的那个语句,
         *              如果希望if语句可以控制多条语句,
         *              可以将这些语句统一放到代码块中
         *          if语句后的代码块不是必须的,但是在开发中尽量写上代码块,即使if后只有一条语句
         *          
         */
        var a = 15;
        if(a > 10 && a <= 20){
            console.log("a大于10,并且 a小于等于20");
        }   
    </script>
    
    <pre>
    029. if语句2
    </pre>
    <script type="text/javascript">
        console.log("第029");
        /*
         * if语句
         *  语法二:
         *      if(条件表达式){
         *          语句;
         *      }else{
         *          语句;
         *      }
         * 
         *  if...else...语句
         *      当该语句执行时,会先对if后的条件表达式进行求值判断,
         *          如果该值为true,则执行if后的语句
         *          如果该值为false,则执行else后的语句
         * 
         *  语法三:
         *      if(条件表达式){
         *          语句;
         *      }else if(条件表达式){
         *          语句;
         *      }else if(条件表达式){
         *          语句;
         *      }else{
         *          语句;
         *      }
         * 
         *      if...else if...else
         *          当该语句执行时,会从上到下依次对条件表达式进行求值判断
         *          如果值为true,则执行当前语句。
         *          如果值为false,则继续向下判断。
         *          如果所有的条件都不满足,则执行最后一个else后的语句。
         *          该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句。
         */
        
        var age = 50;
        if(age >= 60){
            console.log("你已经退休了~~");
        }else{
            console.log("你还没退休~~~");
        }
        
        // 从大到小判断
        age = 55;
        if(age > 100){
            console.log("活着挺没意思的~~");
        }else if(age > 80){
            console.log("你也老大不小的了~~");
        }else if(age > 60){
            console.log("你也退休了~~");
        }else if(age > 30){
            console.log("你已经中年了~~");
        }else if(age > 17){
            console.log("你已经成年了");
        }else{
            console.log("你还是个小孩子~~");
        }
        
        age = 9;
        if(age > 0 && age <= 17){
            console.log("你还是个小孩子");
        }else if(age > 17 && age <= 30){
            console.log("你已经成年了");
        }else if(age > 30 && age <= 60){
            console.log("你已经中年了");
        }else if(age > 60 && age <= 80){
            console.log("你已经退休了");
        }else{
            console.log("你岁数挺大的了~~");
        }
    </script>
    
    <pre>
    030. if练习1
    </pre>
    <script type="text/javascript">
        console.log("第030");
        /*
         *  从键盘输入小明的期末成绩:
         *  当成绩为100时,'奖励一辆BMW'
         *  当成绩为[80-99]时,'奖励一台iphone15s'
         *  当成绩为[60-80]时,'奖励一本参考书'
         *  其他时,什么奖励也没有
         */
        
        /*
         * prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
         *  用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
         *  该字符串将会作为提示框的提示文字
         * 
         * 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
         */
        //score就是小明的期末成绩
        
        //var score = prompt("输入考试成绩(0-100)");
        
        while(true){
            var score = prompt("输入考试成绩(0-100)");
            if(score >= 0 && score <=100){
                break;
            }
            alert("请输入合法的成绩~~");
        }
        
        //判断值是否合法
        if ( score < 0 || score >100 || isNaN(score)) {
            console.log("输入的值不合法!!!");
        } else{
            if(score == 100){
                console.log("奖励一辆BMW");
            }else if( score >= 80 ){
                console.log("奖励一台iphone15s");
            }else if( score >= 60 ){
                console.log("奖励一本参考书");
            }else {
                console.log("棍子一根~~");
            }
        }
    </script>
    </body>
    </html>

    所有基础课程链接:


     1.JavaScript基础视频教程总结(001-010章)           2.JavaScript基础视频教程总结(011-020章)          3. JavaScript基础视频教程总结(021-030章)        4. JavaScript基础视频教程总结(031-040章)

    5. JavaScript基础视频教程总结(041-050章)           6. JavaScript基础视频教程总结(051-060章)         7. JavaScript基础视频教程总结(061-070章)        8. JavaScript基础视频教程总结(071-080章)

    9. JavaScript基础视频教程总结(081-090章)          10. JavaScript基础视频教程总结(091-100章)        11. JavaScript基础视频教程总结(101-110章)      12. JavaScript基础视频教程总结(111-120章)

    13. JavaScript基础视频教程总结(121-130章)        14. JavaScript基础视频教程总结(131-140章)


     另外,欢迎关注我的新浪微博

  • 相关阅读:
    jvm 垃圾收集算法
    jvm 判断对象死亡
    jvm 内存分配
    jvm 对象奥秘
    mysql事务测试及delete和update是使用行级锁,还是表级锁
    sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化
    java nio详解
    mysql数据库优化概述详解
    java 序列化和反序列化
    java io框架详解
  • 原文地址:https://www.cnblogs.com/iflygofy/p/9838541.html
Copyright © 2011-2022 走看看