使用来自 json 对象的参数动态调用方法/函数
Call a method/function with arguments from json object dynamically
我有一个 JSON 对象,如下所示
var jsonData = {
getData1:function(id1, id2){
},
getData2:function(id1, id2){
}
};
我在separate variables
中有一个method name
(例如:getData1(和arguments
(id1,id2(。
手动我可以按如下方式调用该方法
jsonData.getData1(id1, id2);
但我想通过传递 2 个参数(id1、id2(动态调用一个方法。 正确的方法是什么?
请记住,jsonData.getData1
只是jsonData['getData1']
的快捷方式,但在后一个版本中,您放在方括号内的内容可以是任何表达式,而不仅仅是文字。所以你可以做到:
var methodName = "getData1";
jsonData[methodName](id1, id2);
这可能是
附加到每个函数的调用方法的情况。
jsonData[methodName].call(id1, id2)
在 JavaScript 中,对象的属性也可以通过数组符号轻松访问。因此,在您的情况下:
jsonData.getData1(id1, id2);
和
jsonData['getData1'](id1, id2);
以同样的方式行事。您还可以执行以下操作:
var methodName = document.getElementById('methodNameInput').value;
jsonData[methodName](id1, id2);
methodName
只需要是一个字符串。
更多:
var ob = {
foo: 'hello',
bar: function(x) {
return x+'!';
}
};
console.log(ob['foo'] + ' ' + ob['bar']('world')); // prints "hello world!"
console.log(ob.foo + ' ' + ob.bar('world')); // prints "hello word!"
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- jQuery-通过AJAX调用动态添加具有值的表单元格
- body onLoad未调用动态生成的javascript函数
- 在javascript中,如何调用动态添加到对象的函数
- 如何确定调用动态 JavaScript 文件的页面和 ASP.net 中的用户
- 调用动态模式引导程序进行登录
- 如何调用动态生成内容的点击事件
- 如何在 JavaScript 中调用动态命名的对象及其方法
- 在调用动态数量的函数后执行代码
- 使用 jQuery ajax 调用动态添加数组
- 使用$(this)调用动态创建的元素
- 调用动态传递给JavaScript的参数
- 在javascript中调用动态连接函数
- 如何在jquery函数中调用动态URL
- 在angularjs下拉列表中用ng-option调用动态数据
- 从ng-click调用动态函数
- 将文本文档发布到云的Web服务,以便可以通过API调用动态检索文本文档并在客户端呈现
- 如何强制调用动态添加的元素,s onclick()
- 如何在data-ng-click中传递调用动态方法而不是静态方法(即想要传递要调用的方法而不是固定的delete()方法
- jQuery自动完成为ajax调用动态创建的输入