gpt4 book ai didi

javascript - 检查 JS 函数是否存储在带参数的变量中

转载 作者:行者123 更新时间:2023-12-02 14:30:43 25 4
gpt4 key购买 nike

我当前将函数存储在变量中,然后调用它:

var function_name = 'test_function';


// some other JS here


if (typeof app[function_name] != 'undefined') {
app[function_name];
}


app.test_function = function() {
alert('woo');
};

这工作正常,但是如果我将参数存储在函数名变量中怎么办?像这样:

var function_name = 'test_function("mike")';


// some other JS here


if (typeof app[function_name] != 'undefined') {
app[function_name];
}


app.test_function = function(name) {
alert(name);
};

这不起作用,因为 typeof app[function_name] 未定义。我怎样才能做到这一点?

最佳答案

'test_function("mike")' 不是有效的函数名称。

你的逻辑需要改变为

var function_name = 'test_function("mike")';
var app = {};
app.test_function = function(name)
{
console.log(name)
};
var split = function_name.split(/[()]/);
var funName = split[0];
var arguments = [];
if (funName != function_name)
{
var arguments = split[1].split(",");
}
if (typeof app[funName] != 'undefined')
{
app[funName].apply(null, arguments);
}

关于javascript - 检查 JS 函数是否存储在带参数的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37858311/

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