我有一个不同页面的字符串,带有用户登录后需要执行的功能。我已经完成了所有工作,直到执行多个功能。我使用这两个函数:
function callback(wrapper)
{
if (secFn == "") {}
else {
if (doopitydoo >= nAccess) {
var secAr = secFn.split('&');
secAr.forEach(exFn);
}
else {
window.location = 'http://homepage';
}
}
}
function exFn(item, index) {
window[item]();
}
变量doopitydoo
,nAccess
和secFn
先前在不同的脚本中定义。 doopitydoo
是一个人的安全访问权限,nAccess
是页面所需的访问权限;那里没有问题。但是secFn
是一个包含多个函数的字符串。例如,如果它包含“funA
& funB
& funC
”,则代码会按secAr
符号将函数拆分为&
。
我已经使用警报来查看函数何时运行第一个函数,并且我注意到虽然“funA
”始终运行,但后两个不运行。如果我将exFn
函数更改为仅具有函数名称的警报而不是实际执行该函数,则它们都会触发。只有当试图执行的实际功能失败时(即window[item]();
)。
有没有人知道为什么会这样?我匆匆写这篇文章,所以请原谅我忘记解释的任何拼写错误或代码的任何部分。此外,我尝试将foreach
更改为常规for循环,但结果相同。