我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

梁洁--20221125--js高阶第三天

[复制链接]
梁杰,你好 发表于 2022-11-25 23:34:48 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
方法过载:
1概念:如果我们把方法挂载在this上,那么每一个new出来的实例对象都有一

份方法的备份,或者说方法的副本,如果我们new100个实力对象的话,这种就

被称为方法过载。所以直接讲方法挂载在构造函数。
两个中括号[[prototype]]   隐式原型 杠杠proto
实例化对象中
显式原型 prototype 构造函数里

原型和原型链
原型概念
1、每个函数特指构造函数,都有一个属性prototype显示原型   他的值是一个

对象,只需要往这个对象添加方法,这些方法都会被他自己new实例对象所共享

,实例对象的隐式原型和构造函数的显式原型===

2、实例对象都有一个属性__proto__隐式原型,就等于构造函数的显式原型,

老版本显示__proto__,新版本显示[[prorotype]],等于自己的构造函数的显示

原型prototype
constructor就是构造函数
3、原型对象里面有一个属性叫做constructor,值得是构造函数本身

原型的作用 添加共享的方法和属性

原型链
构造函数也是一个实例化对象,也有构造函数(Object)
1、构造函数的原型prototype本身也是一个实例对象,也有自己的构造函数,

this指向他的构造函数就是Object,原型prototype也有属性__proto__隐式原

型,指向object的显式原型
2、Object的显式原型prototype也是实例对象,也有__proto__,指向null
3、Object的prototype商业有一个属性coosnstructor,指向object本身

原型链的作用

实例对象去查找方法,先找自己,自己没有的话沿着原型链去找,找到了就使

用,不会再向上找。直到找到Obkect为止 找不到就报错  

this的指向;

全局中this指向的是
window局中的

函数中的this
this:window
window.fn();===fn();
对象的方法中
对象调用方法  所以指向的是对象
前三种都是谁调用指向谁

构造函数中
指向的是实例对象
定时器的回调中
window。setTimeout()
事件处理函数中
指向的是事件源
箭头函数
指向的是他的上一级,箭头函数没有自己的this指向,他的this绑定定义函数

所处的作用域的上一级

修改this的指向
1、call()apply()
都可以修改this的指向
都可以调用发放,在调用的时候修改this的指向
普通调用
window。函数名
函数名.call()多个参数  指向的对象   其他的都函数的实参
函数名.apply()两个参数   第一个是指向的对象  第二个是参数的数组,数

组中存放实参
bind()修改this指向
bind将函数的this绑定到目标对象中,会执行这个函数代码,返回一个新得函



把一个函数的this绑定到一个目标对象上  ,返回一个新的函数,从此只要点

用这个新的函数,新函数的this永远指向的都是目标对象


回复

使用道具 举报

关注0

粉丝0

帖子77

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

客服电话:18009298968

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

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

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