在Javascript中,我想检查一个属性(或对象)是否是一个函数。
我现在的代码:
if (this.execute != null)
{
this.execute();
}
错误:对象不支持此属性或方法。
我想做类似
的事情if (this.execute != null and isExecutableFunction(this.execute)== true )
{
this.execute();
}
Javascript中是否存在检查属性(或对象)是否为函数的问题 任何帮助都应该受到赞赏 感谢。
答案 0 :(得分:10)
试试这个:
if(typeof this.execute == 'function') {
this.execute();
}
答案 1 :(得分:0)
您可以使用typeof
var func = function(){};
alert(typeof func)
如果你把它放在你的firebug控制台并运行它,你得到function
作为回报。
所以你只需要检查它。
答案 2 :(得分:0)
试试这个。在jsfiddle工作正常。因为我没有在函数内部工作,所以我将其更改为t。尝试使用标记为2和未标记的第2行。
var t= new Object;
//t.execute = function() { alert('executing'); };
if(t.execute)
t.execute();
else
//code here when execute fails
alert('Function could not execute');