【问题标题】:Wrapping Events in Anonymous Functions - Javascript在匿名函数中包装事件 - Javascript
【发布时间】:2015-09-25 17:36:21
【问题描述】:

我一直在阅读匿名 javascript 函数,并且有一个关于通过 jquery 将它们与事件侦听器一起使用的一般性问题。

我有以下事件监听器,它会在提交表单时做一些事情。

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

如果我在我的 javascript 文件中按原样声明它,或者我应该将它包装在像这样的匿名函数中,它会有什么不同(即,利弊,可能出错的事情等)

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

感谢任何输入,谢谢!

【问题讨论】:

  • 不使用 $(function() {});有机会得到错误 pf $ is undefined。所以最好用这个。
  • 不,这与 Tasos K. 建议的问题不同
  • @AR_Web 怎么样?如果$ 未定义,无论哪种情况都会出错。
  • OP,认为这些场景之间的功能差异是什么?

标签: javascript jquery


【解决方案1】:

如果您没有声明任何变量或函数并且,请确保您的代码将在 dom 准备好后执行,这没有任何区别。

但是常见的经验是,也许您现在确定这些前提是正确的,但有一天有人会破坏其中一个,那么您可能会遇到问题(泄漏、冲突、随便)。

作为建议,我会告诉您将代码包装到立即调用函数表达式 (IIFE) 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 2010-09-24
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    相关资源
    最近更新 更多