调用变量中命名的 JavaScript 函数
2022-08-30 01:52:44
我有一个JavaScript变量,其中包含JavaScript函数的名称。此函数通过使用 $.ajax 等加载并放置而存在于页面上。
谁能告诉我如何调用变量中命名的javascript函数,请?
函数的名称位于变量中,因为用于加载页面片段(插入到当前页面)的 URL 包含要调用的函数的名称。
我对有关如何实施此解决方案的其他建议持开放态度。
我有一个JavaScript变量,其中包含JavaScript函数的名称。此函数通过使用 $.ajax 等加载并放置而存在于页面上。
谁能告诉我如何调用变量中命名的javascript函数,请?
函数的名称位于变量中,因为用于加载页面片段(插入到当前页面)的 URL 包含要调用的函数的名称。
我对有关如何实施此解决方案的其他建议持开放态度。
我会避免评估。
要解决这个问题,你应该了解这些关于JavaScript的事情。
代替
方括号 []
,反之亦然。您的问题是考虑点引用方式而不是方括号方式的结果。
那么,为什么不是这样的东西,
window["functionName"]();
这是假设你的函数存在于全球空间中。如果已使用命名空间,则:
myNameSpace["functionName"]();
避免 eval,并避免将字符串传入 setTimeout 和 setInterval。我写了很多JS,我从来不需要eval。“需要”的评估来自对语言不够深入的了解。您需要了解范围、上下文和语法。如果你曾经被评估所困,只要问问 - 你会很快学会的。
如果它在全局范围内,最好使用:
function foo()
{
alert('foo');
}
var a = 'foo';
window[a]();
比。因为是evaaaaaal。eval()
eval()
就像诺斯雷德娜在我面前40秒说的那样,>.<