【web】JavaScript笔记小结 命名规范、数组、函数、作用域、预解析、对象(Day 3)

  努力学习ing!!

来源:JavaScript基础语法

 PS:因为之前学过c语言和c++,所以笔记比较少(新内容会比较详细) 

目录

I. 命名规范及语法格式(可略)

①标识符命名

②规范

II.数组

①创建

✿ 用new

✿ 用数组字面量

②访问、遍历

✿ 访问

✿ 遍历 → 循环一次即可

※※ 代码+图解

✿ 新增元素

※※ 改 length

※※※※ 代码+图解 

※※ 改索引

※※※※ 代码+图解 

※※ 通过循环新增元素

✿ 冒泡排序(小 → 大)

※※ 原理

 ※※ 代码+图解

III.函数

①参数及声明方式

※※ 参数

※※ 声明方式

②返回函数 return 的注意事项

✿ 文字

✿ 代码+图解

✿ break 、continue、return 的区别

③ arguments

✿ eg 求任意个数的最大值

IV.作用域

①概念

②变量作用域分类

※※ 全局

※※ 局部

※※ 区别

③作用域链

V.预解析

VI.对象

①概念

②创建

※※ 字面量

​编辑

※※※※ 区别

​编辑

※※ new Object 

※※ 构造函数

※※※※ 原因

※※※※ 语法格式

​编辑

※※※※ 注意事项

※※※※ 构造函数和创建对象

​编辑 ※※※※ new 执行过程 

③遍历

​编辑

④总结

⑤简易计算器代码


I. 命名规范及语法格式(可略)

①标识符命名

②规范

❀ 操作符 → 左右两侧各留一个空格

❀ 单行注释 → 前加空格

❀ 其他

II.数组

✿ 定义:指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放 任意类型 的元素  

①创建

✿ 用new

✿ 用数组字面量

②访问、遍历

✿ 访问

索引/下标:用来访问数组元素的序号 ( 从0开始 )

✿ 遍历 → 循环一次即可

※※ 代码+图解

<script>
        var arr = [1, 3, 6, 8, 10, 11];
        console.log("数组长度为:" + arr.length);
        // 直接输出数组
        console.log(arr);
        // 一行一个元素
        for (var i = 0; i < arr.length; i++) console.log(arr[i]);
        // 数组转字符串,一行输出所有元素
        var s = "",
            sep = " "; //这样写改分隔方式比较方便
        for (var i = 0; i < arr.length; i++) s += arr[i] + sep; //直接写成 + " " 也行
        console.log(s);
</script>

✿ 新增元素

※※ 改 length

※※※※ 代码+图解 

<script>
        var arr = [1, 3, 6];
        console.log("数组长度为:" + arr.length);
        // 直接输出数组
        console.log(arr);
        arr.length = 5; //改大
        console.log(arr);
        arr.length = 2; //改小
        console.log(arr);
        arr.length = 1; //改成1比较特殊,所以也放上来
        console.log(arr);
</script>

※※ 改索引

※※※※ 代码+图解 

<script>
        var arr = [1, 3, 6];
        console.log("数组长度为:" + arr.length);
        arr[4] = 9;
        console.log(arr);
        console.log("被跳过的arr[3]里的值是" + arr[3] + ",因为没有给它赋值");
        arr[3] = 2;
        console.log(arr);
        arr[1] = 8;
        console.log(arr);
        arr = 666;
        console.log(arr);
</script>

PS.学到这的感受: js真的好灵活ww!

※※ 通过循环新增元素

<script>
        var arr = [];
        console.log("没赋值时,数组长度为:" + arr.length);
        for (var i = 0; i < 10; i++) {
            arr[arr.length] = i + 1;
            //arr.length变化过程,详见红框部分
            console.log("第" + i + "个元素为" + arr[i] + ",此时数组长度为" + arr.length);
        }
        console.log("循环后,数组长度为" + arr.length);
        console.log("数组为" + arr);
        console.log(arr);
        //突然发现arr直接输出和前面有东西输出也不一样,好神奇kkk
</script>

✿ 冒泡排序(小 → 大)

※※ 原理

简单来说,就是相邻元素比较,如果后面的比前面小,就交换元素位置,循环 数组长度-1趟 即可

下面是视频里的思路:

 ※※ 代码+图解

<script>
        var arr = [1, 5, 4, 10, 2, 0];
        console.log("数组长度为" + arr.length);
        for (var i = 1; i < arr.length; i++) {
            for (var j = 0; j < arr.length - i; j++)
                if (arr[j] > arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1]
                    arr[j + 1] = temp;
                }
            console.log("第" + i + "趟后,数组为:" + arr);
        }
</script>

III.函数

①参数及声明方式

※※ 参数

  在 JavaScript 中,形参的默认值是 undefined  

※※ 声明方式

②返回函数 return 的注意事项

✿ 文字

※※ return 是终止函数

※※ return 只返回一个值,多值取最后

※※ return 可以返回数组

※※ 没有 return ,返回 undefined

✿ 代码+图解

<script>
        function txt1() {
            return "return是终止函数!";
            alert("return是终止函数");
        }

        function txt2() {
            return 1, 2, "多个值时,只返回最后一个"
        }

        function txt3() {
            return [1, 2, "多个值时,只返回最后一个"];
        }
        var arr = txt3();

        function txt4() {

        }
        console.log(txt1());
        console.log(txt2());
        console.log(txt3());
        console.log(arr); //两种写法,但结果一样
        console.log(txt4());
</script>

✿ break 、continue、return 的区别

arguments

eg 求任意个数的最大值

思路:这题其实也没啥思路,把arguments当数组用就行

<script>
        function f1() {
            var maxn = arguments[0];
            for (var i = 1; i < arguments.length; i++)
                if (arguments[i] > maxn) maxn = arguments[i];
            console.log(maxn);
        }
        f1(1, 9, 8, 78, 1, 100000, 7)
        f1(1, 3, 5, 7, 9);
        f1(2, 4, 6);
</script>

IV.作用域

①概念

②变量作用域分类

※※ 全局

※※ 局部

※※ 区别

③作用域链

V.预解析

个人理解:简单来说,就是定义变量/函数前调用了,所以会出现 undefined

VI.对象

①概念

②创建

※※ 字面量

感觉跟结构体有点类似

※※※※ 区别

※※ new Object 

※※ 构造函数

※※※※ 原因

※※※※ 语法格式

※※※※ 注意事项

※※※※ 构造函数和创建对象

 ※※※※ new 执行过程 

 

③遍历

k 写成 key 也行

④总结

⑤简易计算器代码

function jsq() {
            var result = 0;
            while (1) {
                var a = prompt("欢迎使用简易计算器:\n1.加法\n2.减法\n3.乘法\n4.除法\n其他.退出\n请输入您的选项:");
                console.log(a);
                if (a < 1 || a > 4) return "退出程序!";
                var num1 = prompt("输入第一个整数:"),
                    num2 = prompt("输入第二个整数:");
                console.log("num1=" + num1 + ",num2=" + num2);
                if (a == 1)
                    result = num1 + num2;
                else if (a == 2)
                    result = num1 - num2;
                else if (a == 3)
                    result = num1 * num2;
                else {
                    if (num2 == 0) {
                        alert("除数不能为0!请重新输入");
                        jsq();
                    }
                    result = num1 / num2
                }
                return "计算结果为" + result;
            }
        }
        var result = jsq();
        console.log(result);
        alert(result);


   恭喜看到这的小伙伴,你已经完成 JavaScri三天的学习了嗷~!!

下面进入第四天的学习吧 (。・∀・)ノ゙ →  内置对象和数据类型

有用的话记得点赞评论收藏嗷!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的文文文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值