在调用函数名称之前是否可以判断函数名称是否存在?javascript:如何判断函数名称是否存在?
回答
您对功能的检查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
。
如果'functionName'不是函数呢? – jAndy 2010-11-30 12:04:35
@jAndy - 他想要一个函数来调用这个函数,这个函数可能会或可能不会被定义......你当然可以改变它,并检查`.toString()`或`typeof`作为`function`,但我会说你在这些情况下有不好的命名重叠...通常你想要两个,例如它可能是一个函数或选择器,或者一个布尔,这个跨框架有几个例子:) – 2010-11-30 12:06:24
取决于几乎你所在的范围。
但总的来说if('function_name_to_check' in this)
将返回true
如果其中有名称的全局或局部范围的属性。
这个检查必须紧跟该类型额外的检查:
可以肯定,这是一个功能。
如果你只是想避免错误,可以转败为胜:
try{function2call();}
catch(e){alert('function2call() doesn\'t exist');}
- 1. 如何判断网页是否存在?
- 2. 如何判断一个javascript变量是否为函数
- 3. 如何判断NSUserDefaults是否已保存?
- 4. 如何判断NSManagedObject是否已保存?
- 5. 如何判断一个函数是否是一个类?
- 6. 静态解析:判断两个Javascript函数是否相同
- 7. PHP:判断文件是否存在?
- 8. 如何判断是否删除函数返回的指针
- 9. 如何判断一个函数是否进入内核
- 10. 如何判断DLL函数是否从VB6 exe被调用?
- 11. 是否可以判断某个javascript代码是否调用特定的函数?
- 12. 如何判断Facebook删除Javascript缓存
- 13. 是否有可能判断函数是否递归?
- 14. 如何判断某个字母是否在字符串中 - javascript
- 15. 如何判断页面是否在iframe中使用javascript?
- 16. 如何判断我的Javascript代码是否在Jint中运行?
- 17. 如何判断我的图书馆是否在Clojars上签名?
- 18. 如何判断json的节点是否存在
- 19. 如何判断图像是否在JQuery中加载或缓存?
- 20. ifstream:如何判断指定文件是否存在
- 21. 如何判断是否存在一个或多个XML节点
- 22. 如何判断一个元素是否存在角度?
- 23. 如何判断Win32_NTLogEvent的InsertionString是否存在?
- 24. 如何判断是否存在W.I.F标记? - 最佳方法
- 25. 如何判断CString是否在堆或栈上分配内存?
- 26. 如何判断DataMapper中是否存在表格
- 27. javascript通过json对象移动如何判断一个元素是否存在
- 28. 如何判断函数在JavaScript中第一次被调用?
- 29. 如何判断在javascript中引用哪个函数?
- 30. 在Perl中,如何判断字符串是否是数字?
试过吗? `if(name_of_funcion){/ *接下来要做什么* /}` – Cipi 2010-11-30 12:00:56