如果函数不存在,则编写函数-javascript
在php中,我编写了以下内容如果函数不存在,则编写函数-javascript,javascript,function,typeof,Javascript,Function,Typeof,在php中,我编写了以下内容 <?php if(x != 0) { echo "function myfunction(){};"; } ?> 这在firefox中非常有效,但在chrome中,即使typeof equals函数仍然会进入并创建空函数。我找不到chrome的解决方案,我尝试了if(!myfunction)、if(typeof window.myfunction!=“function”),但在firefox中一切都正常的情况下,chrome在这里似乎什么都不起
<?php
if(x != 0) {
echo "function myfunction(){};";
}
?>
这在firefox中非常有效,但在chrome中,即使typeof equals函数仍然会进入并创建空函数。我找不到chrome的解决方案,我尝试了if(!myfunction)、if(typeof window.myfunction!=“function”),但在firefox中一切都正常的情况下,chrome在这里似乎什么都不起作用。有什么想法吗?使用函数表达式,而不是函数声明
if(typeof myfunction != 'function'){
window.myfunction = function(){};
}
(我正在使用
窗口
,因为您的最后一段建议您需要一个全局函数)您应该使用严格的比较运算符==
if(typeof myFunction !== 'function'){
window.myFunction = function(){}; // for a global function or
NAMESPACE.myFunction = function(){}; // for a function in NAMESPACE
}
还要尽量将js函数保留在名称空间中,这样可以避免将来与其他js库发生冲突。仍然没有答案吗?我有同样的问题,下面的解决方案对我不起作用。@BretThomas如果有效,请将其标记为答案。
if(typeof myFunction !== 'function'){
window.myFunction = function(){}; // for a global function or
NAMESPACE.myFunction = function(){}; // for a function in NAMESPACE
}