Day11 JavaScript

简介: JavaScript
代码块
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script text="javascript">
        /*
            代码块:
                我们的程序是由一条一条语句构成的
                语句是按照自上向下的顺序一条一条执行的
                在JS中可以使用{}来为语句进行分组,
                同一个{}中的语句我们称为是一组语句,
                它们要么都执行,要么都不执行,
                一个{}中的语句我们也称为叫一个代码块
                在代码块的后边就不用再编写;了
                JS中的代码块,只具有分组的的作用,没有其他的用途
                    代码块内的内容,在外部是完全可见的

        */

        {
            alert("BanQ");
            console.log("半晴Miko");

        }
    </script>

</head>

<body>

</body>

</html>
流程控制语句
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script text="javascript">

        /*
            流程控制语句:
                JS中的程序是从上到下一行一行执行的
                通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行

                语句的分类:
                    1.条件判断语句
                    2.条件分支语句
                    3.循环语句

        */

        /*
            条件判断语句:
                使用条件判断语句可以在执行某个语句之前进行判断,
                如果条件成立才会执行语句,条件不成立则语句不执行。

                if语句:
                    语法一:
                        if(条件表达式)
                            语句

                        if语句在执行时,会先对条件表达式进行求值判断,
                        如果条件表达式的值为true,则执行if后的语句,
                        如果条件表达式的值为false,则不会执行if后的语句。
                        
                        if语句只能控制紧随其后的那个语句,
                        如果希望if语句可以控制多条语句,可以将这些语句统一放到代码块中
                        if语句后的代码块不是必须的,但是在开发中尽量写上代码块,即使if后只有一条语句
                    语法二:
                        if(条件表达式){
                            语句
                        }esle {
                            语句
                        }

                        if...else...语句
                        当该语句执行时,会先对if后的条件表达式进行求值判断,
                        如果该值为true,则执行if后的语句
                        如果该值为false,则执行else后的语句
                    语法三:
                        if(条件表达式){
                            语句
                        }esle if(条件表达式){
                            语句
                        }eslr if(条件表达式){
                            语句
                        }esle {
                            语句
                        }

                        if...else if...else
                        当该语句执行时,会从上到下依次对条件表达式进行求值判断
                        如果值为true,则执行当前语句
                        如果值为false,则继续向下判断
                        如果所有的条件都不满足,则执行最后一个else后的语句
                        该语句中,只会有一个代码块被执行,一旦代码块执行了,则直接结束语句

        */
        if (false) {
            alert("False"); // 不执行
        }

        var a = 10;
        if (a > 5) {
            alert("大于"); // 输出 大于
        } else {
            alert("小于");
        }

        var b = 5;
        if (b > 5) {
            alert("b > 5");
        } else if (b > 3) {
            alert("b > 3");// 输出 b > 3
        } else {
            alert("都不成立");
        }



        /*
            条件分支语句:
                也叫做switch语句

                语法:
                    switch(条件表达式){
                        case 表达式:
                            语句
                            break;
                        case 表达式:
                            语句
                            break;
                        case 表达式:
                            语句
                            break;
                        default:
                            语句
                            break;
                    }
                
                执行流程:
                    switch. ..case..语句
                    在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较,
                    如果比较结果为true,则从当前case处开始执行代码。
                        当前case后的所有的代码都会执行,我们可以在case的后边跟着一个break关键字
                        这样可以确保只会执行当前case后的语句,而不会执行其他的case
                    如果比较结果为false,则继续向下比较

                    如果所有的比较结果都为false,则只执行default后的语句
                
                使用break可以来退出switch语句

                switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,
                同样使用if也可以实现switch的功能
                
        */
        var c = 3;
        switch (c) {
            case 1:
                alert("1");
                break;
            case 2:
                alert("2");
                break;
            case 3:
                alert("3"); // 输出 3
                break;
            default:
                alert("0");
                break;
        }



        /*
            循环语句:
                通过循环语句可以反复的执行一段代码多次

                可以使用break结束循环

                创建一个循环,往往需要三个步骤
                    1.创建初始化一个变量
                    2.在循环中设置一个条件表达式
                    3.定义一个更新表达式,每次更新初始化变量


                while循环
                    语法:
                        while(条件表达式){
                            语句
                        }
                    
                    while语句在执行时,
                    先对条件表达式进行求值判断,
                    如果值为true,则执行循环体,
                    循环体执行完毕以后,继续对表达式进行判断
                    如果值为false,则终止循环
                
                do...while循环
                        语法:
                            do{
                                语句
                            }while(条件表达式)
                        
                        执行流程:
                            do. . .while语句在执行时,会先执行循环体,
                            循环体执行完毕以后,在对while后的条件表达式进行判断,
                            如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
                            如果结果为false,则终止循环

                实际上这两个语句功能类似,
                不同的是while是先判断后执行,而do...while会先执行后判断
                do...while可以保证循环体至少执行一次,而while不能

                for循环
                    for语句,也是一个循环语句,也称为for循环
                    在for循环中,为我们提供了专门的位置用来放三个表达式:
                        1.初始化表达式
                        2.条件表达式
                        3.更新表达式
                    
                    for循环中的三个部分都可以省略,也可以写在外部

                    如果在for循环中不写任何的表达式,只写两个,
                    此时循环是一个死循环会一直执行下去 for(;;){}


                    语法一:
                        for(初始化表达式;条件表达式;更新表达式){
                            语句
                        }
                    
                    for循环的执行流程:
                        ①执行初始化表达式,初始化变量(初始化表达式只执行一次)
                        ②执行条件表达式,判断是否执行循环。
                            如果为true,则执行循环③
                            如果为false,终止循环
                        ③执行更新表达式,更新表达式执行完毕继续重复②

        */
        /*
             continue关键字
                 可以用来跳过当次循环
                 同样continue也是默认只会对离它最近的循环起作用
 
             break关键字
                 可以用来退出switch语句或循环语句
                 不能在if语句中使用break和continue
 
                 break关键字会立即终止离他最近的那个循环语句
                 
                 可以为循环语句创建一个label,来标识当前的循环label
                 循环语句使用break语句时,可以在break后跟着一个label
                 这样break将会结束指定的循环,而不是最近的
                     例如:break outer;
         */
        var d = false;
        while (d) {
            alert(d);//不执行
        }

        do {
            alert("1");//执行
        } while (d)

        for (var i = 1; i < 3; i++) {
            alert(i);//执行
        }

        for (var i = 1; i < 3; i++) {
            for (var j = 1; j < 3; j++) {
                if(i==j){
                    alert("BanQ");//执行2次
                    break;
                }
            }
        }


    </script>

</head>

<body>

</body>

</html>
对象
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script text="javascript">

        /*
            对象:
                除了五种基本数据类型,以后的值都是对象
                对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性

                分类:
                    1.内建对象
                        由ES标准中定义的对象,在任何的ES的实现中都可以使用
                        比如:Math string Number Boolean Function object
                    2.宿主对象
                        由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
                        比如BOM DOM
                    3.自定义对象
                        由自己创建的对象

                
                创建对象:
                    1.使用new关键字调用的函数,是构造函数constructor
                        构造函数是专门用来创建对象的函数
                        var obj = new Object();
                    2.使用对象字面量来创建一个对象
                        var obj = {};

                        使用对象字面量,可以在创建对象时,直接指定对象中的属性
                        语法:
                            {属性名:属性值,属性名:属性值....}
                        对象字面量的属性名可以加引号也可以不加,建议不加
                        如果要使用一些特殊的名字,则必须加引号

                        属性名和属性值是一组一组的名值对结构,
                        名和值之间使用:连接,多个名值对之间使用,隔开
                        如果一个属性之后没有其他的属性了,就不要写,


                向对象添加属性:
                    在对象中保存的值称为属性向对象添加属性
                    语法:对象.属性名 = 属性值;

                读取对象中的属性:
                    语法:对象.属性名
                    如果读取对象中没有的展性,不会报错而是会返回undefined

                修改对象的属性值:
                    语法:对象.属性名 = 新值

                删除对象的属性
                    语法:delete 对象.属性名


            属性名
                对象的属性名不强制要求遵守标识符的规范,什么乱七八槽的名字都可以使用
                但是我们使用是还是尽量按照标识符的规范去做

                如果要使用特殊的属性名,不能采用.的方式来操作
                需要使用另一种方式:
                    语法:对象["属性名"]=属性值
                读取时也需要采用这种方式
                使用[]这种形式去操作属性,更加的灵活,
                在[]中可以直接传递一个变量,这样变量值是多少就会读取那个属性

            
            属性值
                JS对象的属性值,可以是任意的数据类型,也可以是一个对象


            in运算符
                通过该运算符可以检查一个对象中是否含有指定的属性
                如果有则返回true,没有则返回false
                语法:
                    "属性名" in 对象

        */

        //创建对象
        var obj = new Object();
        //向对象添加属性
        obj.name = "BanQ";
        //读取对象中的属性
        console.log(obj.name);//输出 {name: 'BanQ'}
        //修改对象的属性值
        obj.name = "半晴";
        console.log(obj.name);//输出 {name: '半晴'}
        //删除对象的属性
        delete obj.name;
        console.log(obj.name);//输出 undefined
        obj["123"] = "123";
        console.log(obj["123"]);//输出 123
        console.log(obj);

        var obj1 = new Object();
        obj1.name = "miko";
        //将对象属性值设置为一个对象
        obj.testObj = obj1;
        console.log(obj.testObj.name);//输出 miko
        //检查一个对象中是否含有指定的属性
        console.log("testObj" in obj);//输出 true


        /*
            基本数据类型
                String Number Boolean Null Undefined
            引用数据类型
                object

            JS中的变量都是保存到栈内存中的, 基本数据类型的值直接在核内存中存储,
            值与值之间是独立存在,修改一个变量不会影响其他的变量
            对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,
            而变量保存的是对象的内存地址〔对象的引用),
            如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响

            当比较两个基本数据类型的值时,就是比较值。
            而比较两个引用数据类型时,它是比较的对象的内存地址,
            如果两个对象是一摸一样的,但是地址不同,它也会返回false

        */

        /*
            枚举对象中的属性
                使用for ... in语句
                语法:
                    for(var变量in对象){
                    }
            
                for. ..in语句对象中有几个属性,循环体就会执行几次
                每次执行时,会将对象中的一个属性的名字赋值给变量

        */
        var newObj = {
            name: "BanQ",
            age: 22
        }
        for (var v in newObj) {
            console.log(v); //输出 name age
            console.log(newObj[v]); //输出 BanQ 22
        }

        /*
            使用工厂方法创建对象
                通过该方法可以大批量创建对象

        */
        function createPerson(name,age){
            //创建对象
            var obj = new Object();
            obj.name = name;
            obj.age = age;
            //将对象返回
            return obj;
        }
        var newObj1 = createPerson("BanQ",22);
        console.log(newObj1);


    </script>

</head>

<body>

</body>

</html>
目录
相关文章
|
5月前
|
存储 JSON JavaScript
JavaScript组成
JavaScript组成
|
5月前
|
存储 JavaScript 前端开发
javascript有什么用
JavaScript是一种用于编写网页交互和动态效果的脚本语言,具有广泛的应用。它在现代Web开发中发挥着重要的作用,无论是在前端还是后端开发中,JavaScript都扮演着重要的角色。本文将详细介绍JavaScript的七大主要用途,并对其在各个领域中的具体应用进行详细分析。
|
7月前
|
存储 JavaScript 前端开发
JavaScript (二)
JavaScript 对象 可以说 &quot;JavaScript 对象是变量的容器&quot;。 但是,我们通常认为 &quot;JavaScript 对象是键值对的容器&quot;。
23 0
|
7月前
|
JavaScript 前端开发
JavaScript小练习
JavaScript小练习
|
9月前
|
JavaScript 前端开发 编译器
|
JavaScript 前端开发
JavaScript 能够做什么?
JavaScript 能够做什么?
69 0
|
JavaScript 前端开发
初识JavaScript
初识JavaScript
81 0
|
存储 缓存 JavaScript
有趣的JavaScript(1)
有趣的JavaScript(1)
有趣的JavaScript(1)
|
JavaScript 前端开发 程序员
【初识JavaScript-02】
【初识JavaScript-02】
63 0
【初识JavaScript-02】
|
JavaScript 前端开发
JavaScript字符串转数字
JavaScript字符串转数字 由于输入框或对话框返回的类型是字符串,但当我们想使用数字类型时进行一些数学的计算时我们就需要转换为数字类型,使用parseInt、parseFloat即可。
JavaScript字符串转数字