如何在另一个原型中创建可调用的原型方法
How can I create a callable prototype method within another prototype
我正在尝试在对象原型中构建一个小型函数库。我以前只是把我的助手函数作为全局函数抛出,但我正试图迁移到更自我包含的东西。
不管怎样,我的原型包装看起来是这样的;
Q.fn = jHelper.prototype = {
// helper functions
addClass: function() {}, //...
removeClass: function() {}, //...
// etc..
// I want to add a child prototype method here that can be called
Parent: function() {
child: function(args) {
console.log(args);
}
}
}
Q.Parent.child("test");
问题是我不能调用"Parent"内部的函数。如何设置它,以便我可以添加子函数作为"Parent"的原型?
您的Parent
指向一个函数,带有一个指向函数的标签。
它需要看起来像这样。。。
Parent: {
child: function(args) {
console.log(args);
}
}
这也假定Q.fn
指向Q.prototype
。
我希望"child"是"Parent"的原型方法
你需要把它设置成一个正常的原型。
你可以(如果你的目标支持__proto__
)直接这样设置…
Parent.__proto__ = { child: function() { } };
jsFiddle。
这意味着Parent
的原型链(注意:不要给它一个大写字母,因为这是构造函数的约定)看起来是这样的:Parent
->Object
与child
->Object.prototype
。
Object.prototype
是行的末尾,您可以通过评估({}).__proto__ === Object.prototype
来看到这一点。
相关文章:
- 使用setInterval调用原型函数时出现问题
- 无法从angularjs调用JavaScript原型函数
- 如何从构造函数中调用js原型方法
- Javascript不调用原型方法
- 将原型调用为新对象中的另一个原型
- jQuery如何在原型中调用方法
- 从同一原型和上下文中的另一个函数调用函数
- 调用影子原型方法的更简单/更好的方法
- 如何取消原型ajax调用
- 从设置为原型的对象调用属性
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- 使用原型应用与调用函数
- JavaScript原型构造函数只调用过一次
- Javascript原型继承原型函数调用
- JavaScript 应用为字符串原型调用提供奇怪的输出
- 覆盖方法的 JavaScript 原型调用基方法
- 如何在 javascript 中从子原型调用父类的构造函数方法
- 从原型调用私有 js 函数
- 通过原型调用方法与直接在JavaScript中调用方法相比
- 从其他原型调用原型中的函数