一、TS类底层根基,不一样的方式理解JS原型
1. 为什么要用原型【好处】
text
原型上所有的方法和属性都可以被构造函数【实际开发原型主要共享方法和所有实例公用引用属性】的实例共享,那为什么要共享?
2. 为什么要共享,没有用原型会有什么问题?
js
function QQUsers (QQNo_, QQAge_, QQMark_) {
this.QQNo = QQNo_;//QQ号
this.QQAge = QQAge_;//Q龄
this.QQMark = QQMark_;//QQ标签
//引用对象类型=引用类型=对象类型=引用数据类型
// 数组也是一种引用数据类型
this.commonfriends = ['骑驴看海', '大漠上的英雄', '坚实的果子', '小草']//共同好友
// 方法也是一种引用数据类型
this.show = function () {
console.log(`QQ号:${this.QQNo},QQ龄:${this.QQAge},QQ标注:${this.QQMark}`)
console.log(`共同的好友是:${this.commonfriends}`);
}
}
// 对象也叫实例(instance)
// QQZhangSan叫做对象变量 对象是等号右边通过new出来的一个实例 而且是运行期间才在堆中开辟对象的内存空间
let QQZhangSan = new QQUsers("37834522", 15, "王阳明传人")
let QQLiSi = new QQUsers("30424232", 10, "袁隆平的徒弟")
//let QQLiuWu = new QQUsers("刘武", 12, "飞起来的鸭子")
QQZhangSan.show();
QQLiSi.show();
//QQLiuWu.show();