我有这个 json,当我得到这个 json 时,我需要运行回调对象中的函数。
{
formId: 'snn_service_item_form',
item_id: '1',
item_title: 'some item',
item_description: '',
item_duration: '10',
item_price: '120',
item_level_1: 1,
item_level_2: 0,
item_level_3: 1,
item_type: 'p',
callback: {
callbackName: 'getServices',
callbackParams: {
_param1: 1,
_param2: 2
}
}
}
所以根据这个我需要运行这个:
getServices(1,2);
我可以使用 eval 函数来做到这一点,例如:
eval(json.callback.callbackName+'(\''+ json.callback.callbackNParams._param1 +'\',\''+ json.callback.callbackNParams._param2 +'\')');
我可以通过将其放入 for in 并将参数写入字符串来自动执行此操作,但我认为这不是最好的方法。
有没有办法从 var 分配函数名称并将其参数作为对象提供,在我的情况下,例如:
json.callback.callbackName(json.callback.callbackParams);
我知道这不是这样做的方法,但这是我想学习的。
谢谢,思南。