菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 王文博--20221123--js高级-day01 [打印本页]

作者: 博5237    时间: 2022-11-23 23:37
标题: 王文博--20221123--js高级-day01
一、今日学习内容
执行环境与作用域
        执行环境和变量对象和作用域
                概念:
                        1、标识符:变量名/函数名/形参/对象的键名,统称为标识符
                        2、作用域:标识符可以被访问的范围,就是作用域
                        3、执行环境:代码运行的环境,js有两种执行环境,全局执行环境,函数执行环境
                        4、js的执行环境,都被放入一个栈中
                        5、作用域链:提供了一套标识符访问的规则,保证了标识符有序的访问
                        总结:作用域链:提供了一套标识符访问的规则,让标识符可以进行有序访问,(规则:从内往外找,查找标识符,找到就是用,停止查找的过程,直到window,找不到会报错)
                        作用域根据作用域链这套规则锁死了
                        作用域:标识符可以被访问的范围:(自己和自己的子(后代)作用域)
        作用域分类
                1、全局作用域---全局以及全局的各种子作用域
                2、函数作用域(局部作用域)---函数fn内部淤积fn的子作用域
                3、块级作用域(ES6新增的,ES5没有)---var没有块级作用域
函数进阶
        声明函数的方式
                 ES6: 箭头函数 (形参)=>{js表达式}
                        let f3 = () => {
                                            console.log('f3');
                                }
                ES5:
                        声明式:
                                function f1() {
                                                    console.log('f1');
                                       }
                        表达式:
                                let f2 = function () {
                                                    console.log('f2');
                                        }
        箭头函数
                例:const newArr2 = arr.map((v) => {
                                    return v * 10;
                        });
        箭头函数可以省略的情况
                1.{}中只有一句代码:省略花括号并且同时必须省略return
                2.形参有且只有一个,可以省略()
        函数的参数
                形参:占位,叫什么都没关系,主要是语义化
                实参:调用函数的时候传入的实际参数
        arguments
                是一个伪数组,在函数内部获取到所有实参的集合,可以使用for循环,可以通过小标取值,像数组,不是数组,不能使用数组的方法
        设置函数参数的默认值
                ES5:
                                function fn(形参) {
                                            let 变量 = 形参 || 默认值
                                }
                        ES6:
                                function fn(形参 = 默认值) {}
        剩余参数rest
                es6的箭头函数中没有arguments
                剩余参数rest是真数组,可以直接使用数组的方法
        函数的返回值
                函数返回什么,就得到什么,函数可以返回任何东西
                        函数没有写return,函数的返回值为默认值undefined
                        函数在哪里调用,返回值就返回到哪里去
        函数的调用
                直接调用        函数名(实参)
                对象的属性和方法调用,对象,方法()
                回调---定时器,自动执行,自动调用
                自己调自己---自调用函数,立即执行函数表达式IIFE
闭包
        1、跨作用域访问变量,形成闭包,闭包是一种作用域的体现
        2、常见的闭包:父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或者挂载window上
二、今日问题







欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4