【问题标题】:what $(function () {...}); does in Jquery? [duplicate]什么 $(function () {...});在 Jquery 中呢? [复制]
【发布时间】:2013-08-05 23:53:57
【问题描述】:

在代码示例中看到了这种语法:

<script>
  $(function () {
    function fun1(event) {
      ...
    }

    function fun2(event) {
      ...
    }
  });
</script>

问题是 $(function () {...}) 包装器在这里做什么?这个语法和

有什么不同
<script>
  function fun1(event) {
    ...
  }

  function fun2(event) {
    ...
  }
</script>

谢谢

【问题讨论】:

  • 这是关于他们在the documentation 中告诉你的第一件事
  • 我认为你没有很好地表达你的问题和标题。您发布的两个 sn-ps 之间的另一个重要区别是函数范围。在第一个 sn-p 中,由于这些函数是在匿名函数内部定义的,因此它们在匿名函数外部是不可见的。

标签: javascript jquery


【解决方案1】:

$(function(){})$(document).ready(function(){}) 的简写。在运行传递的函数之前,它会等到 DOM 准备好。

【讨论】:

    【解决方案2】:

    $ 是一个标识符,这里是 jQuery 函数。

    因此,您使用一个参数调用该函数,该参数本身又是一个函数(回调)。

    当查看jQuery's documentation 时,您会看到 jQuery 在加载 DOM 结构后运行回调。

    【讨论】:

      【解决方案3】:

      查看文档here 通常,它在 DOM 加载时声明这些函数。所以只有声明时间不同。所以这个构造应该用来定义函数执行,而不是声明。

      【讨论】:

        【解决方案4】:
        $(function() {
        
        });
        

        相当于调用:

        $(document).ready(function() {
          // Handler for .ready() called.
        });
        

        这意味着一旦 DOM 准备好,函数的主体将被执行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多