加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

ES5 继承

发布时间:2020-12-15 00:16:45 所属栏目:C语言 来源:网络整理
导读:1. 首先要明白Object.create的作用 var obj1 = {name:'one'};var obj2 = Object.create(obj1); 创建一个对象并且将obj2的__proto__指向obj1,即是做了一下两步操作: var obj2={};obj2.__proto__=obj1; 2. 比较好的继承方式(下面的代码不是很理解) var Animal

1. 首先要明白Object.create的作用

var obj1 = {name:'one'};
var obj2 = Object.create(obj1);

创建一个对象并且将obj2的__proto__指向obj1,即是做了一下两步操作:

var obj2={};
obj2.__proto__=obj1;

2. 比较好的继承方式(下面的代码不是很理解)

var Animal = (function () {
    function MyConstructor(name) {
        this.name = name;
    }
MyConstructor.prototype.speak = function speak() {
    console.log(this.name + ' makes a noise.');
}

return MyConstructor;

})();

var animal = new Animal('animal');
animal.speak();

var Lion = (function () {
function MyConstructor(name) {
Animal.call(this,name);
}

MyConstructor.prototype = Object.create(Animal.prototype);
MyConstructor.prototype.constructor = Animal;
MyConstructor.prototype.speak = function speak() {
    Animal.prototype.speak.call(this);
    console.log(this.name + ' roars ');
}

return MyConstructor;

})();

var lion = new Lion('Simba');
lion.speak(); // Simba makes a noise.



(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读