这是本课题的后续问题.
我喜欢(并理解)那里的解决方案.但是,在我正在使用的代码中,使用另一种解决相同问题的方法:
function exist(sFN) { if(self[sFN]) return true; return false; }
它似乎工作正常,虽然我不明白如何.它有用吗?怎么样?这种方法的缺点是什么?我应该从另一个问题切换到解决方案吗?
试试这个:
function exist(sFN) { return (typeof sFN == 'function'); }
您的条件是检查"self"对象中是否存在"sFN"属性.任何非null,undefined,0和""都将评估为true.
正如其他人所说,你可以使用typeof或instanceof来查看它是否真的是一个函数.
查看您的链接示例,您应该阅读javascript中== /!=和=== /!==之间的区别.简答:(""== null)为真,(""=== null)为假.