我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

王涛-20221101-JS基础03

[复制链接]
黑桃K 发表于 2022-11-2 00:56:05 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题


        JS基础-03

        1.死循环

1.1概念:

当循环条件永远为真,就会产生死循环,一般工作中,尽量避免

1.2运用场景:

运用场景:死循环主要用于后期随机数之类的实例

1.3可以造成死循环的操作


//第一种
for(;;){

}

//第二种
for(let i=0;true;i++){

}

//第三种
while(true){

}


2.终止循环语句---掌握

2.1作用

主要用于停止循环或者跳出循环

2.2语法


break:结束当前循环,并结束后面所有循环
continue:结束当前循环,继续下一次循环,只是跳过了当前这一次的循环


3.其他相关--了解

3.1 多分支语句

switch...case


default:else---默认

switch(变量){
        case 值1:
                变量全等于值1的时候,执行的代码块A;
        break;
        case 值2:
                变量全等于值1的时候,执行的代码块B;
        break;
        case 值3:
                变量全等于值1的时候,执行的代码块C;
        break;
        ......
        default:
                以上条件都不满足时,执行的代码块;
        break;
}
default在最后时,default后的break可省略


switch与if之间的区别


1.switch  case后面的值与变量是全等的关系
2.if 条件判断可以是一个具体的值的比较,也可是一个范围




        3.2while与do.....while循环


1. while循环
        while(循环条件){
        循环体;
        更新循环变量;
    }
        let i=1;
    while (i<=10){
        console.log(i);
        i++
    }
2.do...while 循环
        初始循环变量;
    do{
        循环体;
        更新循环变量;
    }while(循环条件)

     let i=1;
    do {
        console.log(i);
        i++
    }while(i<=10);


while循环与do...while循环之间的区别


1.do...while 不去判断,先去执行一次,之后再去进行判断
2.while 循环总是先判断然后再确定是否要执行循环体




4.函数----[重重点]

        4.1概念

函数(功能,方法)就是针对代码进行封装(打包),封装的代码总是能完成指定的功能---可复用性

4.2特点

1.函数不会制动调用,需要手动调用

2.函数可以多次使用

4.3作用

1.减少代码的冗余(重复代码)

2.方便后期的维护以及更新

4.4函数的定义【重点】

分类


1.系统函数(内置函数)
2.自定义函数(自己写的函数)---重点


函数的定义方式---重点


方式一:声明式
        通过关键字 function 来指定只一个函数
    函数声明,必须式指定函数名

    语法:
    function 函数名(){
        函数体----打包的代码;
    }
        通过函数的名字进行执行,如果多次执行,多次调用
    函数名();

方式二:表达式
        把一个匿名函数(没有函数名)赋值给一个变量

    语法;
        let/const/var 函数名=function(){
        函数体----打包的代码;
    }
        通过函数的名字进行执行,如果多次执行,多次调用
    函数名();



      //1.声明式:
        function fn1() {
            for (let i = 0; i < 10; i++) {
                console.log(i);
            }
        }
        //2.表达式
        let fn2 = function () {
            for (let i = 0; i < 10; i++) {
                console.log('i', i);
            }
        }
        //函数调用
        fn1();
        fn2();


两种声明方式的区别----[面试题]


1.声明式:function,可以在定义函数的前面进行调用

2.表达式:let/var/const,只能在定义函数的后面调用


函数的参数---【重点】

概念:函数的参数,只是一个占位符,主要我们用来接收调用时传入的具体数据,相当于在函数的内部定义了一个局部变量


语法:
定义:
//声明式
function 函数名(形参1,形参2.....){

}
//表达式
let 函数名=function(形参1,形参2.....){

}
调用:
函数名 (实参1,实参2,.....);



     //需求:使用函数的方式,实现任意两个数比较大小,输出最大值
        let a = 10;
        let b = 20;
        if (a >= b) {
            console.log(a);
        } else {
            console.log(b);
        }

        //封装
        //定义函数
        function fn(a, b) {
            if (a >= b) {
                console.log(a);
            } else {
                console.log(b);
            }
        }
        //调用
        fn(10, 9);
        fn(-10, 100);
        fn(100, 200);
               
                //优化
                function fn(a, b) {
            let max=a>b? a:b;
                        console.log(max);
        }
               



        //需求,三个任意数比较大小,输出最大值
        let a = 10, b = 20, c = 30;
        if (a >= b && a >= c) {
            document.write(a, '<br>');
        } else if (b >= a && b >= c) {
            document.write(b, '<br>');
        } else if (c >= a && c >= b) {
            document.write(c, '<br>');
        }
        //封装
        function fn(a, b, c) {
            if (a >= b && a >= c) {
                document.write(a, '<br>');
            } else if (b >= a && b >= c) {
                document.write(b, '<br>');
            } else if (c >= a && c >= b) {
                document.write(c, '<br>');
            }
        }
        //调用
        fn(1, 2, 3);
        fn(-1, -2, -3);
        fn(1, -2, 30);


        函数的默认值

作用:为了让程序整的执行

        函数的返回值----[重难点]

概念:如果函数的执行结果需要被其他的程序使用时,函数本身不会有返回值(默认返回undefinde),需要使用时,必须使用retunrn进行执行结果抛出(返回),外部才能获取执行结果


undefined 出现的集中情况--目前接触到的
1.声明变量但是没有赋值,变量的默认值为 undefined
2.函数设置了形参,但是调用的时候没有传递进来 对应的实参,函数的形参的值为 undefined
3.函数没有设置返回值,函数的返回值默认为 undefined


语法:


function 函数名(形参){
    逻辑代码块;
    return 返回值;
}

注意:
1.return 只在函数值使用
2.函数值一旦遇到 return ,后面的内容就不再执行, return 一般写在函数体的最后
3. return 每次只能返回一个执行结果,如果需要一次 return 多个值,可以使用数组[]或者对象{}
4.如果需要多个 return 返回不同的结果,可以使用条件判断语句判定输出。
5.如果函数没有知名 return ,函数默认的返回值为 undefined ,如果有 return ,就以 return 的结果为准


        函数封装的步骤----[重点理解]


1.根据需求,实现基本功能---难点
2.确定函数名
3.确认参数的个数
4.确认是否需要使用返回值
5.封装---函数的壳子,基本功能复制到函数体中,使用参数去替换相关变量,是否需要 return
6.调用测试


三种输出方式与return返回值的选择---拓展


三种输出方式:
        1.根据题目要求,题目要求使用三种输出方式
    2.如果输出内容为字符串类型,可以直接使用三种输出方式之一
    3.如果已经使用 return 进行返回,需要查询结果

return 返回值:
        1.如果题目要求使用 return ,结果需要被其他程序使用
        2.程序中的执行结果需要被其他程序所使用,必须使用 return


5.变量作用域

5.1概念

变量的作用域表示的时变量在那个范围内生效,在那个范围内可以被访问

5.2作用

解决全局变量污染问题,变量命名空间冲突

5.3分类

1. 全局作用域----全局变量
2. 函数作用域----局部变量
3. es6块级作用域
4. 声明的时候没有写关键字,变量提升,提升为全局变量


// 全局作用域

        // let a = 10;
        // console.log('全局中的a', a);

        // 局部作用域
        function fn() {
            var a = 20;
            // console.log('这是函数内部的局部变量a', a);
        }
        fn();
        // console.log(a);


        // es6块级作用域
        if (true) {
            let c = 30;
            var b = 200;

            d = 300;
            // console.log('这是块级作用域内的c', c);
        }
        console.log('b', b);
        // console.log('c', c);
        console.log('d', d);

声明的时候没有写关键字,变量提升,提升为全局变量


6.系统函数(内置函数)

6.1概念

js中已经定义好的函数,后期使用时,不需要再次定义,直接使用

6.2重点


string(变量)
Nunber(变量)
Boolean(变量)
parseInt(变量)
parsrFloat(变量)

isNaN(值)---主要用于判定指定的值,是不是字符串
如果是字符串---true
不是字符串---false


回复

使用道具 举报

关注0

粉丝0

帖子54

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026