我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

王涛-20221125-JS高级day03

[复制链接]
黑桃K 发表于 2022-11-26 08:53:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
JS高级---day031.方法过载
如果方法挂载在this上,每个new出来的实例对象,都有一份方法的副本,如果多次调用方法,就出现很多方法副本,这样的情况成为方法过载
[[protype]]---隐式原型
2.原型与原型链2.1原型
1.每个函数(特指构造函数),都有一个属性prototype原型(显式原型),它的值是一个对象,只要往这个对象中添加方法,这些方法都会被new处得来的实例对象共享
2.实例对象,都有一个_proto_隐式原型(新版本浏览器显示[[prototype]]),等于自己构造函数的显示原型:prototype
3.原型对象对象,有一个属性constructor,指向构造函数本身
原型的作用
添加共享的方法
2.2原型链
1.原型prototype本身也是一个实例对象,它也有自己的构造函数,他的构造函数是object,原想prototype也有属性_proto_隐式原型,指向object的显示原型prototype
2.object的显示原型prototype也是实例对象,也有属性_proto_隐式原型,指向null
3.object的prototype上有一个属性constructor,指向构造函数object自己本身
作用
实力对象去查找方法,先找自己们自己没有,沿着原型链找,找到就使用,只到找到object的prototype为止,找不到就报错
3.this指向---七种指向1.全局中的this
2.函数中的this
3.对象方法中this
4.构造函数中的this
5.定时器的回调中的this
6.事件处理函数中的this
7.箭头函数的this3.1修改this的指向1.call()

2.apply()
这两个方法都可以修改this的指向
这两个方法都可以调用函数,在调用函数的同事,可以指定this的指向


函数名()---谁调用指向谁

函数名.call(this对象,实参1,实参2...)
不确定个数的参数,第一个参数是新的this指向,后面的参数按照所需要的实参一次传入

函数名.apply(this对象,[实参1,实参2...])
两个参数,第一个参数是新的this指向,第二个参数为一个数组,数组中传入实参bing()
可以把一个函数的this绑定到一个目标对象上,然后返回一个新的函数,此后只要调用新函数,新函数的thisyong'y


回复

使用道具 举报

关注0

粉丝0

帖子54

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

客服电话:18009298968

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

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

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