Javascript 带参数的函数值的JSON
我有一个很小的问题,但不知道如何解决它。 我需要发送一个带有函数的JSON,但是带有参数,这是我的问题 用JSON发送函数很简单:Javascript 带参数的函数值的JSON,javascript,json,function,Javascript,Json,Function,我有一个很小的问题,但不知道如何解决它。 我需要发送一个带有函数的JSON,但是带有参数,这是我的问题 用JSON发送函数很简单: var jsonVariable = { var1 : 'value1', var2 : 'value2', func: function(){ alert('something'); } }; 我还需要别的东西,需要用参数传递func函数作为参数 例如: var jsonVariable = { var1 : 'value1', var2 : 'value2',
var jsonVariable = { var1 : 'value1', var2 : 'value2', func: function(){ alert('something'); } };
我还需要别的东西,需要用参数传递func函数作为参数
例如:
var jsonVariable = { var1 : 'value1', var2 : 'value2', func: funcParam(param1,param2) };
function(parameter1, parameter2){
alert(parameter1 + parameter2);
}
但这不起作用:(
这方面的任何帮助都将非常有用您想要什么还不清楚,但是如果您想要定义一个接受参数的函数,您将需要这样的东西
var jsonVariable = { var1 : 'value1', var2 : 'value2', func: function(param1, param2){ alert(param1 + param2); } };
您可以创建一个已关闭这些参数的函数:
var send_func = (function( param1, param2 ) {
return function(){
alert(param1 + param2);
};
}( 3, 4 ));
var jsVariable = { var1 : 'value1', var2 : 'value2', func: send_func };
因此,调用上面的外部函数,接收参数,并返回一个调用时使用这些原始参数的函数
another_func( jsVariable );
function another_func( obj ) {
obj.func(); // 7
}
当然,这与JSON无关。您将无法序列化函数的任何部分。是否希望能够向函数传递任意数量的参数?如果是,请尝试向函数传递数组并进行迭代,例如:
var jsonVariable = {
var1 : 'value1',
var2 : 'value2',
func: function(params){
var alertString = "";
for (var i = 0; i < params.length; i++)
alertString+=params[i]+" ";
alert(alertString);
}
};
看看JSONfn插件 它正是你所需要的
-Vadim这不是JSON。JSON没有函数的概念。它只是一个JavaScript对象。您必须更清楚地知道要发送什么、发送到哪里以及如何发送。
jsonVariable.func(["param1", "param2"]);