将函数包装为jQuery参数

时间:2012-03-08 08:52:35

标签: javascript jquery syntax coding-style

当我遇到这种建筑代码时,我正在为我的网站建立一个自动填充程序:

$(function() {

    function log( message ) {
        $( "<div/>" ).text( message ).prependTo( "#log" );
        $( "#log" ).scrollTop( 0 );
    }

    $(element).autocomplete(....

    //more code
});

我知道关闭,“IIFE”,但这对我来说是新的。

  • 上面的“jQuery-wrapped”代码是什么?
  • 我应该这样做有什么特别的理由吗? (范围?)
  • 优化方面,我应该这样做吗?

3 个答案:

答案 0 :(得分:2)

  1. $(function() { });相当于$(document).ready(function() {});,并且在DOM准备就绪之前执行。

  2. 在里面定义一个函数就是告诉它,只有在dom准备好执行后才能使用该函数。

  3. 一旦DOM准备好执行,
  4. $(element).autocomplete(....就是在选择器中实现插件。

  5. 希望现在明白:)


    $(function() {$(document).ready(function() {不需要加载整个页面,以$(window).load(fn)的形式运行。

答案 1 :(得分:1)

$(fn)$(document).ready(fn)是jQuery的onload / onDOMContentLoaded处理程序。传递给它的函数在页面上的DOM准备就绪后执行。

答案 2 :(得分:1)

$(function() { }中的所有内容都将在DOM加载后执行。我更喜欢使用 $(document).ready(function() { }因为它更清楚。