JavaScript 使用记录

JavaScript 继承 5 寄生式继承

2017-12-16  本文已影响9人  赵者也
        var person = {
            name: "Neo",
            friends: ["Toby", "Tina"]
        }

        function createOtherPerson(person) {
            // Object.create 可以是任何返回对象的函数
            var clone = Object.create(person);
            clone.sayName = function () {
                console.log(this.name);
            }
            return clone;
        }

        var neo = createOtherPerson(person);
        neo.sayName();

输出结果:

输出结果

在主要考虑对象而不是自定义类型和构造函数的情况下,寄生式继承也是一种有用的模式。Object.create 函数不是必需的,任何能够返回新对象的函数都适用于此模式。

上一篇下一篇

猜你喜欢

热点阅读