gpt4 book ai didi

javascript - 如何将 JSON 字符串转换为 javascript 中的函数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:39:24 25 4
gpt4 key购买 nike

如何将 javascript/jquery 中的字符串转换为函数?

我正在尝试使用 JSON 参数列表来初始化函数。但是,其中一个参数是一个函数,我将其存储为一个字符串,当我尝试使用 eval() 返回该函数时出现错误。

例如,如果我的 JSON 是:

json = { "one": 700, "two": "function(e){alert(e);}" }

然后在我的代码中:

parameters = eval(json);
$('myDiv').addThisFeature({
parameter_1: json.one,
parameter_2: eval(json.two) // <= generates error
})

最佳答案

示例: http://jsfiddle.net/patrick_dw/vs83H/

var json = '{ "one": 700, "two": "function(e){alert(e);}" }';
var parameters = JSON.parse( json );
eval( 'var func = ' + parameters.two );
func( 'test' ); // alerts "test"

您需要在不支持它的浏览器中加载 JSON 库。

或者做两个单独的评估:

示例: http://jsfiddle.net/patrick_dw/vs83H/1/

var json = '{ "one": 700, "two": "function(e){alert(e);}" }';
eval( 'var parameters = ' + json );
eval( 'var func = ' + parameters.two );
func( 'test' );

我假设您已经意识到 eval 的危险。

关于javascript - 如何将 JSON 字符串转换为 javascript 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com