function MyClass(){}
MyClass.prototype = {
//原型
};
var obj = new MyClass();
注意一个问题:
此时obj的原型,只包含此时MyClass指向的对象A,如果之后使用MyClass.prototype将原型改成其他内容B,则obj的原型仍然是A哦。(=^ ^=) 如果两个实例是由同一原型创建,如果一个实例改变原型的内容,则另一个实例也会改变。
判断继承
obj instanceof MyClass; //判断是否继承自MyClass
MyClass.prototype.isPrototypeOf(obj); //判断obj的原型是不是MyClass
获得原型
Object.getPrototypeOf(obj); //获得obj的原型
ECMAScript5新增Object.create()方法规范化了原型式继承。
var per = Object.create(MyClass, { name: { value: "aaa"}});
//根据MyClass创建per对象,如果有第二个参数,就会为per加入属性