我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

张锐杰-20221125-js高阶03

[复制链接]
张锐杰 发表于 2022-11-25 23:41:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  • 方法过载
    • 如果我们把方法挂在this上,那么每一个new出来的实例对象都有一份方法副本,如果new100个实例对象,就有100个方法副本,这就是方法过载,可以直接挂载到构造函数
    • 隐式原型(__proto__)    [[prototype]]
    • 显式原型prototype
  • 原型与原型链
    • 原型:
      • 每个函数(特指构造函数),都有一个属性prototype(显式原型),它的值是一个对象,只要往这个对象中添加方法,这些方法都会被new出来的实例对象共享
      • 实例对象,都有一个属性(__proto__)隐式原型(新版浏览器显示[[prototype]]),等于自己构造函数的显示原型prototype,实例对象隐式原型指向构造函数的显式原型。
      • 原型对象里面,有一个属性叫constructor,指向构造函数本身
      • 原型的作用:添加共享方法
    • 原型链
      • 原型prototype本身也是一个实例对象,也有自己的构造函数,他的构造函数是Object,原型prototype也有属性(__proto__)隐式原型,指向Object的显式原型prototype
      • Object的显式原型prototype也是实例对象,也有(__proto__),指向null
      • Object的prototype上也有一个属性constructor,指向构造函数Object自己本身
      • 原型链的作用:实例对象去查找方法,先找自己,自己没有,沿着原型链去找,找到,使用。直到找到Object为止,找不到就报错。
  • this指向
    • 7种指向
      • 全局中的this----window
      • 函数中this----window,谁调用就指向谁
      • 对象方法中this----对象:对象调用,谁调用就指向谁
      • 构造函数中this----实例对象
      • 定时器回调中----window
      • 事件处理函数中----事件源
      • 箭头函数----上一级,箭头函数没有自己的this指向,他的this绑定定义函数所处的作用域
    • 修改this的指向
      • call()和apply()
        • 两个方法都可以修改this的指向
        • 这两个方法,都可以调用函数,在调用函数的同时,可以制定this的指向
        • 函数名()   调用谁就指向谁
        • 函数名.call(this对象,实参1,实参2)不确定个数的参加,第一参数是新的this指向,后边的参数按照所需要的实参依次传入
        • 函数名.apply(this对象,[实参1,实参2])两个参数,第一个参数是新的指向,第二个参数为一组,数组传入实参
      • bind()
        • 可以把一个函数this绑定到一个新的对象上,然后返回一个新的函数此后,只要调用这个新的函数,新函数的this永远指向了绑定的目标对象

回复

使用道具 举报

关注0

粉丝0

帖子39

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

客服电话:18009298968

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

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

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