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

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

作者: 博5237    时间: 2023-1-5 18:34
标题: 王文博--20221229-js高级-day01
一、今日学习内容
执行环境与作用域
    概念
        1.标识符:变量名、函数名、形参、对象的键名,统称为标识符
        2.作用域:标识符可以被访问的范围,就是作用域
        3.执行环境:代码的运行环境,js有两种执行环境:全局执行环境与函数执行环境
        4.js执行环境:都会被放到一个栈中
        5.作用域链:提供了一套标识符访问的规则,保证标识符有序访问。标识符访问的时候,里面没有可以往外面找,层层往外找,直到window,找到就停止,找不到就报错
   作用域的分类
        1.全局变量
        2.函数作用域(局部作用域)
        3.块级作用域---ES6
函数进阶
   箭头函数
语法:变量= (形参1, 形参2) => {
     return 返回值;
   }
可以省略的情况
        1.参数有且只有一个:可以省略小括号
        2.只有一句代码:可以省略花括号,并且必须同时省略return,自动return
   剩余参数
        剩余参数rest
        语义化:...rest/...r
        语法:变量 = (形参1, 形参2, ...rest) => {
                        console.log(rest);
              }
    函数的调用
函数的调用
           1.直接点用    函数名()
           2.作为对象的方法调用  对象名.方法名()
           3.回调函数    定时器,数组的方法,其他的方法---自动执行
           4.自己调用自己IIFE立即执行函数表达式
语法:(function(形参) {
            js代码;
        })();
立即执行函数
     a挂载在window上,称为全局标识符
      js中如果全局标识符过多,称为全局污染
      比较容易和其他同时代码冲突
闭包
   概念:
​        1.跨作用域访问变量,形成闭包,闭包是一种作用域的体现
​        2.常见的闭包的写法:父函数嵌套子函数,子函数访问父函数的变量,把子函数返回或挂载window上
闭包的作用
​        1.实现了早期的模块化开发,把所有的变量都隐藏在内部,对外暴露统一的访问接口
​        2.隐藏变量,避免全局污染
闭包的缺点
​        1.一旦形成闭包,$变量 就不会被内存释放,内存开销大,可能会造成内存泄漏,不建议过多使用
​        2.js有垃圾回收机制,不会被垃圾回收机制销毁

二、今日问题






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