温习日志-9

温习日志

——2023年1月29日下午

学习内容

  • 默认参数
    1. 在ES5时,当检验函数中参数是否添加,并且添加默认值,需要用到||
    2. 在ES6只需在函数中的参数直接等于默认参数,当调用时没有给参数则使用默认值,如: function(a = 1, b = 2) {}
    3. 对于给对象赋值时,若是键与参数相同写一遍即可,如:const obj = {name};
    4. 对于参数的赋值:基本类型赋值,参数修改,原来的基本类型不变、引用数据类型赋值参数,如果参数修改内部内容,改引用数据类型也修改
  • 初阶和高阶函数
    1. 函数也是对象
    2. 可以通过fn.name访问fn函数的名字
  • call和apply方法
    1. 在对象中存在函数方法,且函数方法中存在this。如果通过引用对象中方法直接调用,则this指向这个对象;如果是首先引用该方法没有立即调用,则后续再使用this指向undefined
    2. 通过fn.call(指向的对象, 参数)实现绑定这个fn函数中的this全部指向指定的对象,且call后面接受多个作为函数的参数
    3. 通过fn.apply(指向的对象, 数组)实现绑定这个fn函数中的this全部指向指定的对象,且apply后面接受一个数组作为函数的参数
    4. callapply方法都是立即调用的
    5. 对于数组作为参数,call方法也可以使用,如: fn.call(null, ...arr);
  • bind方法
    1. 通过fn.bind(指向的对象, 参数)实现绑定这个fn函数中的this全部指向指定的对象,且bind后面接受多个作为函数的参数,最终返回这个函数不会立即执行
  • 练习1,详见于代码
  • Immediately Invoked Function Expressions
    1. 通过(fn() {})()从而实现函数表达式的立即执行,里面的变量是不能被访问到的
    2. 我们也可以从函数A中返回新的函数B,则函数A中的变量只能通过函数B访问,这时候就形成了闭包
  • 闭包
    1. 闭包是函数执行上下文中的
    2. 外部不能访问到内部的变量,内部变量可以访问全局变量。但是,内部会优先访问闭包中的变量
  • 练习2,详见于代码

明日计划

  • 明天十一点半起床,十二点开始学习JS基础知识
  • 学习至下午五点半
  • 晚上六点半学习React知识
  • 学习至八点半
posted @   这样那样如此如此  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示