javascript:如何判断一个函数名是否存在?

标签 javascript jquery

是否可以在调用前先判断一个函数名是否存在?

最佳答案

您检查 typeof 函数,例如:

if(typeof this["functionName"] != "undefined") {
  alert("uh oh, doesn't exist");
}

如果你需要检查它是否存在并且是一个要格外确定的函数:

if(typeof this["functionName"] == "function") {
  this["functionName"](); //it exists, call it
}

或者更轻松的版本:

if(this["functionName"]) this["functionName"]();

如果名称没有改变(例如,我误解了问题),只需使用点符号,如下所示:

if(this.functionName) this.functionName();

或者当然它不一定是 this...无论你检查什么对象,使用它,如果它是一个全局函数使用 window

关于javascript:如何判断一个函数名是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4313462/

相关文章:

javascript - Jquery Prev() 获取数据属性的最后 3 个标签名称

javascript - 移动网站 - 右侧空白区域

javascript - 如何根据元素的id更改固定的标题样式

javascript - 可以读取 CRM2011 中子网格的选择吗?

javascript - 为什么 jQuery 在 .insertAfter 期间重复 div?

javascript - 如何引用 php 文件中未在 <form> 中提及的元素

javascript - 如何使 CSS 下拉菜单在单击时出现/更改

javascript - 使用jquery从html元素获取属性值

javascript - Electron 应用程序 : How to 'lock' a computer?

javascript - 全局发射事件