侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Javascript 设计模式学习之一 Constructor(构造器)模式

2024-05-06 星期一 / 0 评论 / 0 点赞 / 66 阅读 / 1625 字

构造器是什么? Object构造器用于创建特定类型的对象,同时接受参数,以在第一次创建对象时,设置成员属性和方法的值 都有哪些构造器可以使用? 1 基本Constructor(构造器)(有点问题) f

构造器是什么?

Object构造器用于创建特定类型的对象,同时接受参数,以在第一次创建对象时,设置成员属性和方法的值

都有哪些构造器可以使用?

1 基本Constructor(构造器)(有点问题)

function Car(modal, year, miles) {    this.modal = modal;    this.year = year;    this.miles = miles;    this.toString = function () {        return this.modal + ' has done ' + this.miles + ' miles';    }}let civic = new Car('Honda Civic',2009,20000);let mondeo = new Car('Ford Mondeo',2010,5000);console.log(civic.toString());  //Honda Civic has done 20000 milesconsole.log(mondeo.toString()); //Ford Mondeo has done 5000 miles

toString()方法在没创建一个Car的实例时,就重新定义一次,这种方法应该是在实例之间共享的,于是,可以使用下面的带原型的构造器

2 带原型的Constructor(构造器)

function Car(modal, year, miles) {    this.modal = modal;    this.year = year;    this.miles = miles;}Car.prototype.toString = function () {    return this.modal + ' has done ' + this.miles + ' miles';}let civic = new Car('Honda Civic',2009,20000);let mondeo = new Car('Ford Mondeo',2010,5000);console.log(civic.toString());console.log(mondeo.toString());

这样,toString()方法就可以在Car的所有对象之间共享

 

参考资料:

《Javascript 设计模式》 【美】Addy and Osmani

广告 广告

评论区