发表于: 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 (nameage) {
   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


收获:


理解了面向对象编程和原型



返回列表 返回列表
评论

    分享到