博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js继承
阅读量:6969 次
发布时间:2019-06-27

本文共 1593 字,大约阅读时间需要 5 分钟。

//练习js继承(组合继承:原型继承和构造函数继承的组合)function Polygon(length, area) {    this.length = length;    this.area = area;}Polygon.prototype = {    constructor: Polygon,    getLength: function () { console.log(this.length);console.log(" Polygon--getLength()!"); },    getArea: function () { console.log(this.area); },    sayHello: function () { console.log("Hi,I'm Polygon!");}}function Triangle(length, area) {    //继承属性    Polygon.call(this, length, area);//在子类对象上调用父类构造函数   //添加新属性   //this.a=a;}//继承方法Triangle.prototype = new Polygon();//注意:通过原型链实现继承时,不能使用对象字面量创建原型的方法,会导致重写原型链/*Triangle.prototype = {    constructor: Triangle,    getLength: function () { console.log("Triangle length is " + this.length); },    getArea: function () { console.log("Triangle area is " + this.area); }}*/Triangle.prototype.constructor = Triangle;//设置constructor属性//重写父类方法Triangle.prototype.getLength = function () {    //Polygon.prototype.getLength.call(this);    console.log("Triangle length is " + this.length);};Triangle.prototype.getArea = function () {    console.log("Triangle area is " + this.area);};//添加新方法Triangle.prototype.sayTriangle = function () { console.log("Hi,I'm Triangle!"); };var polygon1 = new Polygon(1, 2);polygon1.getLength();polygon1.getArea();var triangle1 = new Triangle(12, 16);//调用子类重写的方法triangle1.getLength();triangle1.getArea();//调用子类的新方法triangle1.sayTriangle();//调用父类未被重写的方法triangle1.sayHello();//调用父类被重写的方法Polygon.prototype.getLength.call(triangle1);

console打印信息:

1

Polygon--getLength()!
2
Triangle length is 12
Triangle area is 16
Hi,I'm Triangle!
Hi,I'm Polygon!
12
Polygon--getLength()!

转载地址:http://qtisl.baihongyu.com/

你可能感兴趣的文章
Android应用安全风险与防范
查看>>
硅谷亿万富翁彼得·泰尔的神秘大数据公司在新西兰遭审查
查看>>
参加工业软件与制造业融合发展高峰论坛 用友3.0加速落地
查看>>
赌Impinj就是赌RFID行业
查看>>
亚马逊数据专家十年经验总结:成为数据科学家的关键四步
查看>>
普京签订反恐法:互联网公司将增加数十亿美元成本
查看>>
微软详细说明了用户在Word和Outlook中的前10个语法错误
查看>>
如何弱化因不同软件测试人员测试而引发的BUG率上涨的现象?
查看>>
SAP云计算产品线关键功能扩展升级
查看>>
Com0com+com2tc 试用
查看>>
web版文本编辑器
查看>>
spring与spring MVC的区别
查看>>
活动目录的综合应用(二)
查看>>
AD组策略的那点事
查看>>
CentOS 7 编译安装LAMP
查看>>
iptables
查看>>
Linux native AIO与eventfd、epoll的结合使用
查看>>
转:图数据库Neo4J的介绍
查看>>
获取屏幕宽度、浏览器宽度、网页高度,宽度信息
查看>>
我的友情链接
查看>>