在面向对象的JavaScript开发中使用继承可以提高代码重用性,javascript有多重方式可以实现继承,考虑代码的可维护性在项目中应该保持代码风格的一致性,下面是JavaScript中继承的实现方式之一:
辅助对象:
var global = window;
(function(ns,undefined){
//辅助对象:
var Class = {
extends: function(SubClass, SuperClass){
var F = function() {};
F.prototype = SuperClass.prototype;
SubClass.prototype = new F();
SubClass.prototype.constructor = SubClass;
SubClass.base = SuperClass.prototype;
if(SuperClass.prototype.constructor == Object.prototype.constructor) {
SuperClass.prototype.constructor = SuperClass;
}
}
}
global.Class = Class;
}(global, undefined));
继承模式:
function Person(name){
this.name = name;
}
Person.prototype = {
getName: function(){
console.log("Person.prototype.getName")
},
say: function(){
console.log("Person.prototype.say")
}
};
function Employee(title, name){
Employee.base.constructor.call(this, name);
this.title = title;
}
Class.extends(Employee, Person);
//重写person.prototype.say
Employee.prototype.say = function(){
Employee.base.say.call(this);//调用父类方法
console.log("Employee.prototype.say");
};
Employee.prototype.getTitle = function(){
console.log("Employee.prototype.getTitle")
};
调用演示:
var e = new Employee("前端", "jser");
console.log(e.name)
console.log(e.title)
e.getName()
e.getTitle()
e.say()
//运行结果:
//jser
//前端
//Person.prototype.getName
//Employee.prototype.getTitle
//Person.prototype.say
//Employee.prototype.say
相关推荐
下面我们将深入探讨几种常见的JavaScript继承模式。 1. **借用构造函数继承** 这是通过在子类型构造函数内部调用超类型的构造函数来实现的。例如,`Father`是超类型,`Son`是子类型,`Son`构造函数通过`Father....
第一部分讲解了JavaScript语言的面向对象和函数式编程的知识,包括静态类型语言和动态类型语言的区别及其在实现设计模式时的异同、封装、继承、多态在动态类型语言中的体现、JavaScript基于原型继承的面向对象系统的...
除了传统的原型链继承,JavaScript还支持其他继承模式,如组合继承(组合使用构造函数和原型链)、寄生继承(通过创建父类副本改进继承)、原型式继承(使用`Object.create()`)、寄生组合式继承(被认为是最有效的...
JavaScript继承模式是该语言面向对象编程核心特性之一,它允许开发者以不同的方式从父对象或构造函数中继承属性和方法。接下来,将详细介绍JavaScript中几种常见的继承模式,并结合具体代码实例分析其实现技巧与注意...
7. 继承模式:浅谈原型链继承、寄生组合继承、原型式继承等常见的JavaScript继承模式。 8. 多态实践:通过函数重载、鸭子类型等方式实现多态性。 9. 静态方法与静态属性:类中定义的静态方法和属性,不依附于实例...
类式继承模式#3——借用和设置原型 类式继承模式#4——共享原型 类式继承模式#5——临时构造函数 Klass 原型继承 通过复制属性实现继承 借用方法 小结 第7章 设计模式 单体模式 工厂模式 ...
本文将深入探讨JavaScript继承的六大模式:原型链、借用构造函数、组合继承、原型式继承、寄生式继承以及寄生组合式继承。 1. **原型链** 原型链是JavaScript中最基础的继承方式,通过原型对象的引用实现。每个...
使用场景及目标:帮助程序员更好地理解和掌握不同继承模式的特点与适用范围,在实际项目开发过程中选择合适的方式构建复杂的数据结构或组件层级。 其他说明:对于想要深入了解JavaScript底层机制特别是ECMAScript...
在JavaScript中,常见的设计模式包括工厂模式、单例模式、观察者模式、装饰器模式、代理模式等。例如,工厂模式可以用来创建对象,避免直接使用new操作符,提高代码的可扩展性;单例模式确保一个类只有一个实例,常...
《前端项目-augment:构建高效JavaScript继承模式》 在当今的Web开发中,前端项目的复杂性日益增加,对性能和可维护性的要求也不断提升。"前端项目-augment"便是一个专注于解决这些问题的资源,它引入了一种被称为...
虽然组合继承是JavaScript中常用的继承模式,但它也有一个缺点,即父类构造函数会被调用两次,一次是在子类构造函数中,一次是在设置原型时。 4. **寄生继承**(Parasitic Inheritance) 在不修改父类构造函数的...
如果您是一名有经验的开发者,正在寻找与对象、函数、继承以及其他特定语言分类,那么本书中的抽象方案和代码模板将是十分理想的指南,无论您正在使用Javascript编写客户端、服务端,抑或是桌面应用程序。...
JavaScript 继承是编程中一个重要的概念,它允许对象间共享和重用...在实践中,根据项目需求选择合适的继承模式,如原型链继承、构造函数继承、组合继承、寄生继承、寄生组合继承等,可以有效地优化代码结构和性能。
原型模式利用这一特性,通过对象间的继承关系来实现代码复用。`Object.create()`方法就是基于原型模式实现的。 五、模块模式 模块模式是JavaScript中实现封装和私有变量的一种方式。通过立即执行函数表达式(IIFE)...
JavaScript 继承是面向对象编程中的关键概念,它允许创建基于现有对象的新对象,从而能够复用和扩展已有功能。本文将深入探讨...了解这些继承模式的基本原理和优缺点,对于编写高质量的JavaScript代码至关重要。
在JavaScript中,常见的继承模式有原型链继承、构造函数继承、组合继承、寄生继承、原型式继承、委托继承等。这里提到的"工具函数二"可能是介绍了一种或多种继承模式的实现方式。下面我们将详细讨论这些概念: 1. *...
外文翻译:学用JavaScript设计模式,pdf版本,中文版 设计模式是可重用的用于解决软件设计中一般问题的方案。设计模式如此让人着迷,以至在任何编程语言中都有对其进行的探索。 其中一个原因是它可以让我们站在巨人...