介绍
这一章主要讲的是在JS中的对于面向对象这一概念是如何实现的。讲到的主要内容有,对象,创建对象,和继承。
对象(Object)
属性类型
- 数据属性(Data Properties)
包括一个数据值
- - 访问器属性(Accessor Properties):包括getter和setter的pair。
继承(Inheritance)
基本概念
- JavaScript只有对象,没有类和接口的概念
- 函数也是一种对象。对象的特点:原型,构造器
- 构造函数:当调用一个方法的时候,我们使用了
new
关键字,便说明该函数将被当做构造函数来使用 - 所有对象都继承自
Object
这个对象。原型链继承
实例[内部指针] -> 构造函数[原型对象]1
2
3
4
5
6
7
8
9
10
11function SuperType() {
this.property = true;
this.function = function() {
return "function supertype";
}
}
function SubType() {}
SubType.prototype = new SuperType();
var instance = new SubType();
var property = instance.property //true
var value = instance.function; //"function"
缺点
原型的方法和属性会被子类所有的instance共享。
构造函数继承
1 | function SuperType(name) { |