gpt4 book ai didi

javascript - 如何通过函数的参数在 javascript 函数中触发 javascript 函数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:59:25 25 4
gpt4 key购买 nike

我想在另一个函数中动态地运行一个函数...

假设:

<script>
var x = function(r,s){
r(s);
}
var a = function(item){
alert("aA");
}
var b = function(item){
alert("bB");
}
</script>

这可能吗?我从函数 x 的参数中获取“r”作为函数名,我想运行它。

if r=a, then it will trigger function a()

and if r=b, function b triggered instead...

我该怎么做?

最佳答案

您可以简单地测试 r 并根据需要调用每个函数。

if (r === 'a') {
a(s);
} else if (r === 'b') {
b(s);
}

或者,如果您对此有很多功能,或者并不总是提前了解所有功能,您可以将它们组织在一个Object 中并使用bracket operators。将 r 视为访问它们的键名:

var commands = {
a: function(item){
alert("aA");
},

b: function(item){
alert("bB");
}
};

var x = function (r, s) {
var command = commands[r];

if (typeof command === 'function') {
command(s);
}
};

x('a', 'foo'); // alerts `aA`

或者,甚至只是将 ab 作为参数本身传递给您当前定义的 x()

x(a, 'foo'); // calls `a` as `r`, passing 'foo' along

关于javascript - 如何通过函数的参数在 javascript 函数中触发 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627813/

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