奇怪的jQuery JSON功能......这里发生了什么?

时间:2010-09-28 01:18:54

标签: javascript jquery flot

我在这里浏览flot示例http://people.iola.dk/olau/flot/examples/turning-series.html

(在那里查看来源)

我遇到了这个:

<script id="source" language="javascript" type="text/javascript">
$(function () {
    var datasets = {
        "usa": {...

$(function()部分。我知道它是一个匿名函数,我不明白为什么在这里使用它。这不一样好:

<script id="source" language="javascript" type="text/javascript">
    var datasets = {
        "usa": {...

我查看了jQuery docs(http://api.jquery.com/),发现没有特别用于函数()

3 个答案:

答案 0 :(得分:3)

$(function () {

用于在DOM准备好时执行代码,它是jQuery中的document.ready处理程序,效果与:

$(document).ready(function () {

您希望在document.ready上运行某些内容以便元素存在,例如,如果您使用$(".class")作为选择器,则不希望该代码在DOM运行之前运行已经完全加载,所以你正在寻找的元素就在那里,准备好被选择器找到......这意味着你的代码总是有效,即使它在<head>中。

有关文档,请查看API中的jQuery(callback)

答案 1 :(得分:2)

这是$(document).ready(handler)的简写,它在运行匿名函数之前等待DOM完全加载。

答案 2 :(得分:1)

在jQuery中,$(function() {$(document).ready(function() {的缩写。

是的,你的第二部分同样可以正常工作,但是第一部分保证了页面的整个DOM在执行之前就被加载了。