我的项目中有一个弹出系统。通过名称(例如“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/