JavaScript语言的特点
JavaScript不是面向对象的,所以
引用语义:JavaScript是引用语义的语言,赋值会得到引用;
JavaScript是没有类的,总是直接创建{}对象;这个对象叫原型;
对象继承与原型
下面我们通过一个超级简化的例子来看看调试环境下原型继承的实际情况。
我们定义了a对象,此时a对象就有了原型;
我们定义了b对象,b的原型设置为a;
我们定义了c对象,c的原型设置为b;
所谓继承关系不过是把一个对象的原型指向另一个对象而已。
因为运行时可以修改原型,所以一个对象可以变成任何对象。
var a = {
a1: 'Robot'
};
var b = {
name: '小明'
};
b.__proto__ = a;
var c = {};
c.__proto__ = b;

上面我们可以清晰的看到原型继承产生的原型链。
链上每个节点的成员自动被下游节点拥有(或者说继承);
本文介绍了JavaScript的引用语义特点及其实现对象继承的方式——原型继承。通过实例详细展示了如何通过原型链实现对象间的继承关系,并解释了运行时修改原型带来的灵活性。

被折叠的 条评论
为什么被折叠?



