我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

陈玉-20221123-js高级day01

[复制链接]
polaris123 发表于 2022-11-24 00:40:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日学习内容
1.执行环境与作用域
  1.1执行环境和变量对象和作用域
   标识符:变量名/函数名/形参/对象的键名 统称为标识符
   作用域:标识符可以被访问的范围,就是作用域
   执行环境:代码运行的环境,js有两种执行环境,全局和函数执行环境
   js的执行环境,被放入了一个栈中
   作用域链:提供了一套标识符访问的规则,保证标识符有序进行访问(执行环境--运行环境)
   作用域链提供了一套标识符访问的规则,让标识符可以进行有序的访问,规则就是从里往外找查找标识符,找到就使用,停止整个查找的过程,直到window,找不到就报错
  1.2作用域分类
  1.全局作用域
2.函数作用域(局部作用域)
3.块级作用域(ES6)
2.函数进阶
   2.1函数声明方式
   声明式function 函数名(){}
   表达式var/let/const fn=function(){}
   箭头函数()=>{}
   可省略的情况:
1.如果{}中只有一句代码,省略花括号,同时必须省略return
2.形参有且只有一个,可以省略小括号()
如果没有形参不能省略()
   2.2函数参数
   1.形参:占位用的,叫什么没关系,主要要语义化
   2.实参:调用函数时传入的实际的参数
   2.3arguments(伪数组)
   概念:函数内部获取到所有实参的集合
   2.4剩余参数
   剩余函数rest是真数组,可直接使用数组方法
   2.5参数默认值
   ES5:function fn(形参) {
   let 变量 = 形参 || 默认值;
  }
   ES6:
function fn(形参 = 默认值) {
}
   2.6函数的返回值
    函数返回什么,就得到什么,函数可以返回任何东西
    函数没有写return,函数的返回值为默认值undefined
    函数在哪里调用,返回值就会返回到那里去
   2.7函数调用
    声明式/表达式直接调用
    对象的属性和方法调用,对象.方法()
    回调---定时器,自动执行,自动调用
    自己调用自己---自调用函数,立即执行函数表达式IIFE
   2.8立即执行函数表达式
; (function () {
    var a = 10;
    var b = 30;
    function add() {
        var sum = a + b;
        return sum;
    }
    window.$ss = {
        add: add,
        a: a,
        b: b
    }
})();
    作用:如果挂载到window上,成为了全局变量,全局的标识符,写了js代码,如果全局的标识符过多,全局污染,比较容易与其他人的代码冲突
3.闭包
  1.跨作用域访问变量,形成闭包,闭包是一种作用域的体现


  2.常见的闭包写法是:父函数嵌套子函数,子函数可以访问父函数的变量,把子函数返回或者挂载到window上
二、今日问题
今日未遇到问题

回复

使用道具 举报

关注0

粉丝0

帖子37

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

客服电话:18009298968

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

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

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