代码之家  ›  专栏  ›  技术社区  ›  Skilldrick

在Crockford的伪经典继承模式中使用“this”

  •  2
  • Skilldrick  · 技术社区  · 14 年前

    我刚刚读了好的部分,对一些事情有点困惑。Crockford的伪经典继承示例如下:

    var Mammal = function (name) {
        this.name = name;
    };
    
    Mammal.prototype.get_name = function () {
        return this.name;
    };
    

    这一问题的一部分是,构造函数有“它的勇气悬在外面”——方法在构造函数函数之外。我看不出分配有什么问题 get_name this 但是在构造函数内部。是因为我们最终会得到 获取名称 方法?

    1 回复  |  直到 10 年前
        1
  •  3
  •   Jörg W Mittag    14 年前

    是的,基本上就是这样。

    通过将它们分配给 原型 他们将会 继承 所有的实例 Mammal :只有 一个 在整个系统中复制这些函数,不管有多少个 哺乳动物 有。