es5 构造函数如何继承
时间: 2024-12-29 13:28:09 浏览: 12
在ES5(ECMAScript 5)中,构造函数继承主要是通过原型链(prototype chain)实现的,这是一种基于原型的对象继承方式。下面是基本的步骤:
1. **构造函数派生**:子类构造函数中会有一个隐式的`this.constructor = SuperClass`语句,这样每个子类实例都有指向其父类的引用。
2. **原型链继承**:子类实例会自动获取到父类的原型(`SuperClass.prototype`),这意味着它可以获得父类的所有实例属性(如方法)以及静态属性。
3. **方法覆盖和扩展**:子类可以在自己的构造函数中添加新的实例方法,或者覆盖父类的方法。例如:
```javascript
function Parent(name) { this.name = name; }
Parent.prototype.sayHello = function() { console.log('Hello from parent:', this.name); }
function Child(name, age) {
Parent.call(this, name);
this.age = age;
}
Child.prototype = new Parent(); // 使用new操作符复制父类的原型
Child.prototype.sayHello = function() { // 重写父类方法
console.log('Hello from child:', this.name, 'age:', this.age);
}
var child = new Child('Alice', 10);
child.sayHello(); // 输出:Hello from child: Alice age: 10
```
阅读全文