es5 的类继承

function Shape(x){
 this.x = x;
}
Shape.prototype.show = function(){ console.log("Father X:",this.x || "")};

function Rectangle(x){
 Shape.call(this,x); // 相似面向对象语言的super()方法,可传多个参数
}
Rectangle.prototype = Object.create(Shape.prototype); // 做用相似于面向对象的extends关键字
Rectangle.prototype.show = function(){ console.log("Son X:",this.x || "")};// 复写父类方法
new Rectangle(12).show();

网上关于es5类继承的资料,原理却是洋洋洒洒的一大堆,还给了各类继承写法,但demo跑起来多数有点问题。javascript

综合各篇文章和官方资料,如今这个写法应该足够简单(重要的只有那三行注释代码),也提到了如何传参和复写,放到chrome控制台里就能跑起来。java

参考:chrome

Object.create()this

Function.prototype.call(this)es5

相关文章
相关标签/搜索