javascript / Jquery中的$(function(){}意味着什么

时间:2014-11-19 09:02:16

标签: javascript jquery

请让我知道。以下这个陈述在JS中的含义 -

$(function () { /* Code */ });

这是一个匿名函数/或一个等同于document.ready的Jquery吗?

谢谢,

4 个答案:

答案 0 :(得分:3)

之间没有差异
$(function () { });

$(document).ready(function(){});

当dom准备就绪时,两者都用于包装。

实际上$()$( document ).ready()

的简写

答案 1 :(得分:1)

打破它:

$jQuery的别名 - 由jQuery库定义的全局函数。

此语句调用$函数:

$(/* args */)

此函数接受各种不同类型的参数,并根据您传递的参数行为不同。

在相关语句中,匿名函数作为$函数的单个参数传递:(请注意,需要使用右括号来完成最初在问题中给出的语句):

$(function () { /* Code */ })

如果传递function$将把该函数添加为jQuery的[DOM] ready事件的事件处理程序。这意味着该函数将排队等待文档加载完成后执行。如果文档已经完成加载,则该函数将立即执行。

通过这种方式,将函数传递给$可以作为简写版本:

$(document).ready(function() {
    /* code to execute on dom ready */
})

答案 2 :(得分:0)

这是一个匿名函数(你创建了一个函数而没有给它命名)和一个shorthand for the document ready event handler

请注意,您在代码中也缺少一个结束括号,它应该是

$(function () { /* Code */ });

答案 3 :(得分:0)

解析DOM后立即执行

$(function () { });,如果有多个外观,则按外观顺序调用。此时,文档不会显示,只是解析了它。

,相当于$(document).ready(function () { });

明显的好处是,在页面上的其他元素之前使用脚本标记意味着您的脚本可以与它们进行交互,即使它们在解析时不可用。如果在解析元素并且文档未准备好之前运行脚本,则它们将无法进行交互。