我的网站上有一个脚本,在调用时调用静态命名函数:
childLoad();
虽然总是调用childLoad()
函数,但并不总是定义它。如果脚本不存在,如何阻止脚本调用此函数?
答案 0 :(得分:56)
if ( typeof childLoad == 'function' ) {
childLoad();
}
答案 1 :(得分:11)
您可以使用短路评估:
childLoad && childLoad();
<小时/> EDIT
('childLoad' in this) && childLoad && childLoad();
这将确保可以引用childLoad
,确保它未被定义,然后调用该函数。它没有检查以确保它是一个功能,但我个人觉得这不是必需的。
注意:如果您使用this
或call
,apply
可能不是您所指的上下文。这实际上取决于你的其余代码。
答案 2 :(得分:6)
if(typeof childLoad == 'function') {
childLoad();
}
答案 3 :(得分:1)
您只需查看:
if (childLoad)
childLoad()
答案 4 :(得分:0)
你可以试试它!
答案 5 :(得分:0)
{{1}}