gpt4 book ai didi

javascript - 如何执行名称为字符串的 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 10:44:58 25 4
gpt4 key购买 nike

如何调用以下内容?

var ccall="search.clearMultiSelect";

我尝试了以下方法:

  1. window[ccall]();
  2. ccall();

两者都不起作用(我明白为什么)。我能够通过 eval 实现它,但是有没有其他不使用 eval 的方法?

我不能拆分字符串或操作字符串,除了在开头或结尾添加一些东西。

基本上,服务器在其响应中包含操作成功时要执行的函数的名称,在本例中如上所示。

最佳答案

window[ccall]() 不会工作,因为 window 不包含名为“search.clearMultiSelect”的函数。如果您可以使用拆分,请尝试类似的操作:

window[ccall.split('.')[0]][ccall.split('.')[1]]();

对于深度大于 2 的函数,可以遍历 split('.') 数组:

var f = window;
var ccallArray = ccall.split('.');
for (var i = 0; i < ccallArray.length; i++){
f = f[ccallArray[i]];
}
f();

DEMO

关于javascript - 如何执行名称为字符串的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21254575/

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