发表于: 2020-02-19 22:31:32
0 1465
今天完成的事情:
今天看了下面向对象编程
面向对象的特性:
- 封装性
- 继承性
- [多态性]抽象
面向对象的设计思想是:
- 抽象出 Class(构造函数)
- 根据 Class(构造函数) 创建 Instance
- 指挥 Instance 得结果
下面代码有一个很大的弊端。 每一个实例对象jg 都是一模一样的内容, 每一次生成一个实例,都必须为重复的内容,多占用一些内存,如果实例对象很多,会造成极大的内存浪费。
function bf(mz,cj) {
this.mz=mz;
this.cj=cj;
this.jg=function() {
console.log('姓名:'+this.mz + " " + '成绩' + this.cj)
}
}
var k1=new bf('小明',99);
var k2=new bf('小王',95);
k1.jg()
k2.jg()
console.log(k1.jg===k2.jg) //false
下面代码Person.prototype指向了Person的实例原型 每次调用直接在原型中查找就好了
constructor: Person // constructor 指向正确的构造函数
function Person (name, age) {
this.name = name
this.age = age
}
Person.prototype = {
constructor: Person,
type: 'human',
sayHello: function () {
console.log('我叫' + this.name + ',我今年' + this.age + '岁了')
}
};
var p1 = new Person('toi', 25);
var p2 = new Person('to', 26);
console.log(p1.sayHello===p2.sayHello) //true
明天计划的事情:
了解es6
遇到的问题:
看到的一些代码都出行了es6影子,赶快把基础补完 了解下es6
收获:
理解了面向对象编程和原型
评论