⭐️ 本文首发自 前端修罗场(点击加入),是
一个由 资深开发者 独立运行 的专业技术社区
,我专注Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展
。博主创作的 《前端面试复习笔记》(点击订阅),广受好评,已帮助多人提升实力、拿到 offer。现在订阅,私聊我即可获取一次免费的模拟面试机会
,帮你评估知识点的掌握程度,获得更全面的学习指导意见!
首先我们要知道:什么是模式?
模式,就是专门为某些常见问题开发的、优秀的解决方案。它通常经过一系列实践证明、针对某类问题具有可重用性的解决方案。
而设计模式,不同于编程模式,其与具体的语言无关。
1.Constructor构造器模式
1.1基础Constructor构造器模式
// 使用函数来模拟一个Car类
function Car(model,year,miles) {
this.model = model ;
this.year = year;
this.miles = miles;
this.toString = function () {
return this.model + "已经行驶了" + this.miles + "米";
}
}
//调用
var honda = new Car("东风Honda",2009,20000);//实例化Car
//输出结果
console.log(honda.toString());
缺陷:
- 继承困难;
- toString()是为每个使用Car构造器创建的新对象而分别重新定义的。这样不理想,因为这种函数应该在所有的Car类实力之间共享。
1.2进阶 带原型的Constructor构造器模型
function Car(model,year,miles) {
this.model = model ;
this.year = year;
this.miles = miles;
//每个对象都有构造器原型的所有属性。
Car.prototype.toString = function() {
return this.model + "已经行驶了" + this.miles + "米";
}
}
//调用
var honda = new Car("东风Honda",2009,20000);//实例化Car
console.log(honda.toString());
优点:
- toString()的单一实例能够在所有的Car对象之间共享。
❤️ 现在关注【前端修罗场】,后台回复【666】,即可获取一份【免费的优质学习资料】,一起学习,一起进步,不走弯路,不吃亏~