4.ES6(类/原型)

类/继承
原型/构造函数

类/继承

类:简单理解成构造函数,需要通过类构建对象
7.创建实例对象时只调用constructor对象,如果需要调用普通函数还需点方法;
1.类中constructor内的属性和方法必须加this=创建的实例对象
2.属性只能写到constructor内,不能写在constructor外
3.创建实例对象时实参传递进constructor对象内
4.普通方法定义时不用加this
5.普通函数在类中被调用时需要加this
6.创建实例对象调用方法时实参传递进普通函数
8.es6中没有变量/函数的提升,所以类一定要写在实例之前
9.类中所有函数之间不能加逗号隔开

定义代码:
class Lzy{     

constructor(行参){  
this.属性名=;
this.方法名=方法;
}

//(constructor外不能直接加属性名,只能加方法函数)

lzy(){        }
}

调用代码
var 接受对象名=new Lzy()

继承
1.就近原则:子实例对象调用方法,如果子类有直接被调用,如果子类没有该方法,去父类找
2.子类中,constructor内super必须在this之前调用
3.父类函数在被子实例对象调用时,this还想指回父类时:用变量将this 赋值/调用代码

继承代码
class 父类名{               }
class 子类名extends父类名{               }

1.子类中可以调用父类普通方法,并且通过super.父类普通函数名(参数),向此方法传递参数
2.子类中可以调用父类constructor函数,并且通过super.(参数),向constructor方法传递参数

3.子实例对象可以直接调用父类方法,子类可以继承父类普通方法
4.子实例对象不能直接调用父类中的constructor对象;

原型/构造函数

1.定义:构造函数属性/方法:静态成员,实例成员
静态成员:不需要加this
(1)在构造函数本身添加的属性/方法
(2)静态成员可以通过命名的构造函数名直接访问/设置
(3)静态成员不能通过new之后的对象进行访问/设置
实例成员:需要加this
(1)在构造函数内通过this添加的属性/方法
(2)实例成员只能通过new之后的对象进行访问/设置
(3)实例成员不能通过命名的构造函数直接访问/设置

2.原型对象的作用:prototype对象解决因new开辟空间浪费内存问题

function 函数名(){
prototype{ //每个函数中都默认存在prototype对象
属性:constructor属性//只做指向用途(正)
属性:__proto__属性//每个对象中都有__proto__,且不能赋值
//实例对象.__proto__   === 构造函数名.prototype
方法 //prototype内存储的方法其实是存在Objecet构造函数内;
}    
}
var 实例对象 = new 函数名()//创建实例对象
实例对象{ 属性:__proto__   }

3.最难的逻辑:常复习
1.构造函数➡️构造函数内prototype对象:构造函数名.prototype
2.构造函数内prototype对象➡️构造函数:prototype.constructor
3.实例对象➡️构造函数内prototype对象:实例对象.–proto–

4.prototype对象➡️Object原型对象prototype:prototype.–proto–
5.按照4同123
6.Object原型对象prototype的原型对象prototype为null

4.给原型对象prototype添加应用时需要用点方法,如果直接写会将原有覆盖
(1)prototype内存的方法其实是存在Objecet构造函数内;
5.继承
(1)继承属性:利用调用构造函数且改变构造函数this指向的函数方法:函数名.call(参数 )

function 子构造函数 (){
 父构造函数名.call(this,参数1,参数2)
}

(2)继承方法:将父实例对象赋值给子构造函数中的prototype对象

子构造函数名.prototype= new 父实例对象()//子实例对象的方法会找子构造函数名方法,父构造函数方法,父prototype的Object内方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值