2015-09-25 31 views
-3

我一直在匿名的JavaScript函数阅读起来有关于通过jQuery与事件侦听器使用它们一个一般性的问题。包装活动 - 使用Javascript

我有以下事件侦听器将在提交表单的做一些东西。

if(sky === 'blue') { 
    $('#my-form').on('submit', function(){ 
     //do some stuff 
     $('#my-div').show(); 
    }) 
} 

请问这有什么区别(即利弊&利弊,事情可能出错等),如果我要宣布它,在我的JavaScript文件或者我应该在一个匿名包裹被它功能如此

$(function() { 
    if(sky === 'blue') { 
    //do my stuff 
} 

任何输入表示赞赏,谢谢!

+0

相似的主题http://stackoverflow.com/questions/10273185/what-are-the-benefits-to-using-anonymous-functions-instead-of-named-functions-fo –

+0

没有使用$(function() {});有机会得到错误pf $是未定义的。所以最好使用这个。 –

+0

不,这是没有类似的问题TASOS K.建议 – gfpacheco

回答

2

如果你没有声明任何变量或函数你确保你的代码将在dom准备好后执行它没有任何区别。

但是共同的经验是,也许你确定那些前提是真实的,但总有一天有人会破坏其中的一个,那么你会有问题(泄漏,冲突,无论)。

作为一个建议,我会告诉你来包装你的代码放到一个立即调用的函数表达式(IIFE)。