javascript - 检查javascript函数是否存在并执行它

标签 javascript function variables

我的项目中有一个弹出系统。通过名称(例如“addnews”),它知道要添加哪个弹出内容以及处理该表单需要哪个脚本。直到现在完成后我总是做同样的事情。现在,在某些情况下,我想做一些不同的事情。

现在我想添加一个具有相同名称的 JavaScript 函数,如前面的示例“addnews()”,并检查该函数是否存在。如果它确实运行了,则执行标准操作。 (1)

同时执行使用该名称作为变量的函数似乎不起作用。 (2)

var functionName = 'addnews';

if (typeof functionName == 'function') { // (1) typeof functionName = string
    window[functionName](); // (2) this doesn't work for me
} else {
    // Do something standard
}

function addnews() {
    // Do something special
}

最佳答案

如果您在文档中使用此代码并且未完全加载,您的代码将找不到函数 addnews(),因为它没有在此代码之前声明。

就像评论中一样:您需要使用

if (typeof window[functionName] == 'function') 

关于javascript - 检查javascript函数是否存在并执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14793126/

相关文章:

c - 使用二级指针初始化 SequenceList

php - 如何在代码的其他地方调用在 PHP 函数中声明的变量

javascript - 如何获取表中的输入值?

javascript - 需要理解为什么正则表达式没有替换所有匹配项

javascript - 使用或不使用 flexbox 填充可用空间

function - 我可以根据不同参数的 _value_ 强制一个参数吗?

c++ - 如何在测试系统中自动注册测试用例?

variables - 批处理脚本帮助 - 将 DelayedExpansion Var 的子字符串替换为另一个 DelayedExpansion Var

javascript - 从关联数组/对象中提取的全局变量?

javascript - 在字符串内回显 PHP