JavaScript 继承 5 寄生式继承

        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 函数不是必需的,任何能够返回新对象的函数都适用于此模式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容