JavaScrip基础讲座 - 神奇的ProtoType

时间:2024-12-04 09:35:32

1. 什么是 prototype 

prototype 对于 JavaScript 的 意义重大,prototype 不仅仅是一种管理对象继承的机制,更是一种出色的设计思想

在现实生活中,我们常常说,某个东西是以另一个东西为原型创作的。这两个东西可以是同一个类型,

也可以是不同类型。习语“照猫画虎”,这里的猫就是原型,而虎就是类型,用 JavaScript 的 prototype 来 表示就是“虎.prototype =某只猫”或者“虎.prototype= new 猫()”

eg:

function ClassA()
{
......
}
ClassA.prototype = new Object(); function ClassB()
{
......
}
ClassB.prototype = new ClassA(); //ClassB 以 ClassA 的对象为原型 function ClassC()
{
......
}
ClassC.prototype = new ClassB(); //ClassC 以 ClassB 的对象为原型 var obj = new ClassC();
alert(obj instanceof ClassC);
alert(obj instanceof ClassB);
alert(obj instanceof ClassA);
alert(obj instanceof Object);

运行结果:

true

true

true

true