Javascript jQuery-检查是否定义了函数
我一辈子都不知道该怎么做。我的jquery名称以某种方式隔开,因为它以NWO.{function name}作为前缀,使其更有条理。看起来是这样的:Javascript jQuery-检查是否定义了函数,javascript,jquery,Javascript,Jquery,我一辈子都不知道该怎么做。我的jquery名称以某种方式隔开,因为它以NWO.{function name}作为前缀,使其更有条理。看起来是这样的: var NWO = NWO || {} NWO.Chat = (function() { return{ init : function($objects) { console.log('do something'); } } } }()); jQuery(document).ready(functio
var NWO = NWO || {}
NWO.Chat = (function() {
return{
init : function($objects) {
console.log('do something');
} }
}
}());
jQuery(document).ready(function(){
NWO.Chat.init($('div').find('a.chat'));
});
现在聊天元素不在每个页面上,因此在某些不存在聊天链接的页面上,我会得到一个NWO.chat未定义。我认为对于没有聊天链接的页面,我可以这样做以避免错误
if(jQuery().NWO.Chat){ NWO.Chat.init($('div').find('a.chat')); }
或
但这两种方法似乎都不起作用,我仍然会出错。当聊天链接不在页面上时,如何避免js错误。我头痛了好几个小时了。提前感谢。您可以使用typeof通过将对象与“未定义”进行比较来检查对象是否已定义
通过将对象与“未定义”进行比较,可以使用typeof检查对象是否已定义
NWO
不是jQuery插件,因此与jQuery无关,它是一个对象(看起来像一个全局范围),所以您可以这样做
if (NWO && NWO.Chat && typeof NWO.Chat.init == 'function') {
NWO.Chat.init($('div').find('a.chat'));
}
NWO
不是jQuery插件,因此与jQuery无关,它是一个对象(看起来像一个全局范围),所以您可以这样做
if (NWO && NWO.Chat && typeof NWO.Chat.init == 'function') {
NWO.Chat.init($('div').find('a.chat'));
}
您还可以解决问题的根源:
NWO.Chat = (function() {
return{
init : function($objects) {
console.log('do something');
} }
} // <<-----------REMOVE THIS CURLY BRACE
}());
NWO.Chat=(函数(){
返回{
init:function($objects){
log('do something');
} }
}//您还可以解决问题的根源:
NWO.Chat = (function() {
return{
init : function($objects) {
console.log('do something');
} }
} // <<-----------REMOVE THIS CURLY BRACE
}());
NWO.Chat=(函数(){
返回{
init:function($objects){
log('do something');
} }
}//它将是未定义的,rather@danronmoon什么是未定义的,就像一个符咒!非常感谢@ArunPJohnyit的帮助将是未定义的
,rather@danronmoon什么东西会像一个符咒一样未经修饰!非常感谢@ArunPJohny的帮助