javascript - 动态添加方法到对象

标签 javascript

我希望这可以用 Javascript 来完成。

I Have something like this:

有这样的东西:

var MYOBJECT = {
method1: function(){//some cool},
addMethodToObject: function (a_new_method){
//whats need to be here to add the
 method passed in "a_new_method" to MYOBJECT ?
}

}

这个想法是调用:

MYOBJECT.addMethodToObject(function otherMethod(needThis){return needThis;});

现在 MYOBJECT 已将方法作为新方法传递,我可以执行以下操作:

MYOBJECT.otherMethod('say Hi');

将输出

"say Hi"

提前致谢。

最佳答案

我没有测试上面的答案,但它们都需要从内部更改对象。 我需要一些东西而不从内部更改对象,所以我想出了这个解决方案:

首先创建对象的实例,然后:

yourObject.yourMethodName = function(methodParam1, methodParam2) {
    doWhatYouNeed;
};

然后执行为:

yourObject.yourMethodName(methodParam1, methodParam2);

希望这有帮助。

关于javascript - 动态添加方法到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237521/

相关文章:

javascript - 使用 page_action 时未出现弹出窗口

javascript - 如何正确处理 Three.js 场景? (r55)

javascript - 在 TypeScript 中使用 Promises 的异步函数的正确错误模式

javascript - Jquery 事件不适用于动态添加的 Div

javascript - 类变化时的 Angular Action

javascript - 3张图片居中,左右图片对齐中间图片

javascript - 限制单选按钮的点击次数并乘以一个数字

javascript - 在 TestCafe 中,是否有一种方法可以运行一个断言,如果选择器匹配 2 个可能值中的 1 个,该断言就会通过?

javascript - 限制添加到 JS 元素的字符

javascript - AngularJS:在每次 ng-click 上重新随机化 ng-repeat