使用功能调用模式扩展对象。怎么样?

问题描述:

小提琴这里:http://jsfiddle.net/rhodee/4NKVH/使用功能调用模式扩展对象。怎么样?

我一直在读的书克罗克福德,想知道什么是行之有效的方法撬开基构造对象,并添加一个函数,该子对象可以访问?

我以为我可以访问我的对象的原型,它似乎是不可能给我目前的代码。

感谢您的任何想法。

你有几个误区:

  • 你的构造函数返回一个完全无关的对象。不要这样做。返回this。 (如果不存在return声明,构造函数会隐含地执行此操作)
  • Superconstructor调用在JS中不是非常直观。你需要丑陋的构造MySuperclass.call(this, arg1, arg2, ...);,所以在你的案例中mammal.call(this, spec);cat
  • 你需要new关键字来实例化一个使用原型链的对象。

请参阅http://jsfiddle.net/4NKVH/5/获取固定版本的代码。