标签:
function E(){};
function createPro(PRO) {
//方式1
return Object.create(PRO);
//方式2
return {__proto__: PRO};
//方式3
E.prototype = PRO;
return new E();
}
//这是继承的主函数,为了去构造被继承类的原型属性
//有三种方法//第一种是用ECMA5的对象的够着的方法
//第二种是用了FF CHROM 的私有属性
//第三种是用了实例化一个空的构造函数
var A = function(){};
A.prototype.showA = function(){console.log(‘hello ‘+this.propA);};
A.prototype.propA = ‘a‘;
//这是最基础的类A
var B = function(){};
B.prototype = createPro(A.prototype);
B.prototype.constructor = B;
B.prototype.showB = function(){console.log(‘hello ‘+this.propB);};
B.prototype.propB = ‘b‘;
//这是继承了A的类B
var C = function(){};
C.prototype = createPro(B.prototype);
C.prototype.constructor = C;
C.prototype.showC = function(){console.log(‘hello ‘+this.propC);};
C.prototype.propC = ‘c‘;
//这是继承了B的类C
var cExp = new C;
console.log(cExp);
//这是实例化的C

这是Chrom下的截图,清晰的结构图。
可以清晰的看到对象的继承关系。
have fun O(∩_∩)O
标签:
原文地址:http://www.cnblogs.com/somesayss/p/4468462.html