Javascript简单继承方法

时间:2012-02-08 11:07:40

标签: javascript prototypal-inheritance

我是使用javascript的oo概念新手。 来自ejohn.org简单继承

标准原型继承

function Person(){}
function Ninja(){}
Ninja.prototype = new Person();
// Allows for instanceof to work:
(new Ninja()) instanceof Person

上述网站声明

  但是,对此有什么挑战,我们真正想要的是   'instanceof'的好处,而不是实例化的全部成本   Person对象并运行其构造函数。为了抵消这一点,我们有   我们的代码中的一个变量,初始化,每当我们设置为true   想要实例化一个类,其唯一目的是将它用于   原型。

上述陈述是什么意思?

john-resig对标准原型继承的简单继承有什么好处?

var fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/

上述测试是什么?

任何人都可以解释自动执行功能的流程吗?虽然代码是注释的,但我无法遵循流程

1 个答案:

答案 0 :(得分:2)

这意味着,我们可以实例化一个类来使用instanceof而无需调用其虚构造函数init

Fred provides an answer到您的第二个查询...

  

xyz测试确定浏览器是否可以检查文本   功能的身体。如果可以,您只能执行优化   如果它实际调用this._super(),则包装一个重写的方法   它身体的某个地方。因为它需要额外的关闭和   函数调用开销来支持_super,跳过这一步很好   如果不需要的话。