我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

赵强-20221125-JS高级day03

[复制链接]
BlueFlame 发表于 2022-11-25 23:49:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今日所学内容:# JS高级-day03

## 1.方法过载

        如果方法挂在this上,那么每一个new出来的实例地想都有一份方法的副本,如果new100个实例对象,就有100个方法副本,称为方法过载。


## 2.原型与原型链

### 2.1原型:

        1.每个函数(特指构造函数),都有一个属性prototype(显式原型)原型,他的值是一个对象,只要往这个对象中添加方法,这些方法都会被new出来的实例对象共享
        2.实例对象,都有一个属性__proto__隐式原型 (新版本浏览器显示[[prototype]]),等于自己构造函数的显示原型prototype
        3.原型对象里面,有一个属性constructor,指向构造函数自己本身
        原型的作用是添加共享方法

### 2.1原型链

    1.原型prototype本身也是一个实例对象,也有自己的构造函数,他的构造函数时Object,原型prototype也有属性__proto__隐式原型,指向Object的显示原型prototype
    2.Object的显示原型prototype也是实例对象,也有__proto__:指向null
    3.Object的prototype上有一个属性constructor,指向Object自己本身
    原型链的作用:实例对象查找方法,查找方法,自己没有的话,沿着原型链查找,找到就使用,直到找到Object为止,找不到就报错

## 3.this指向---7中指向

        1.全局中的this
        2.函数中的this
        3.对象方法中的this
        4.构造函数中的this
        5.定时器的回调中
        6.事件处理函数种
        7.箭头函数

### 3.1修改this的指向

        1.call()和apply()
        这两个方法都可以修改this的指向
        这两个方法,都可以调用函数,在调用函数的同时,可以指定this的指向
       
        函数名() //谁调用就指向谁
        函数名.call(this对象,实参1,实参2) // 不确定个数的参数,第一个参数是新的this指向,后面的参数按照所需要的实参依次传入
        函数名.apply(this对象,[实参1,实参2]) //两个参数,第一个参数是新的this指向,第二个参数为一个数组,数组中传入实参
       
        2.bind()
        可以把一个函数的this绑定到一个目标对象上,然后返回一个新的函数
        此后,只要调用这个新函数,新函数的this永远指向了绑定的目标对象

回复

使用道具 举报

关注0

粉丝0

帖子47

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

客服电话:18009298968

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

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

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