【发布时间】:2012-09-28 11:09:50
【问题描述】:
我正在尝试构建一个自定义集合(我们称之为 GenericList),它可以容纳 n 个集合并表现得像一个集合。
为了继承普通 Backbone 集合的所有功能,我将 GenericList 的原型设置为 Backbone.Collection 的新实例。然后我覆盖重要的fetch()、reset()、on()、off() 等。现在还有一些我想从 GenericList 中踢出的函数(基本上是添加和创建)。
所以为了删除这些函数,我首先得到我的实例原型Backbone.Collection,然后是Backbone.Collections 原型,它只是一个包含所有集合函数的Object。当我从那里delete 函数时,发生的情况是,整个应用程序中的所有 Backbone.Collection 实例都失去了这些函数,因为它们都继承自那个对象。
所以我的问题是,除了delete 之外,还有其他技术可以隐藏对象上的函数,即使该函数是在对象原型链中的任何位置定义的?
【问题讨论】:
-
展示您的问题的实际代码示例会很好;这样我们可以给出更清晰的解释和解决方案。
标签: javascript function inheritance backbone.js prototype