$(function(){})在javascript中的含义是什么

LZO*_*ZOO -2 javascript jquery flot

我正在使用flot库来制作地块.网站上给出的示例都有他们的javascript代码,如下所示:

<script>
$(function() {
    ...
    ...
    ... plot ...
});
</script>
Run Code Online (Sandbox Code Playgroud)

http://www.flotcharts.org/flot/examples/realtime/index.html

$(function(){})位是什么意思?

Sat*_*pal 7

它的文档就绪处理程序

描述:指定DOM完全加载时要执行的函数.

  • 首先并不总是更好. (2认同)

Rak*_*tty 7

它是文档就绪处理程序

$( document ).ready(function() {
  // Handler for .ready() called.
});
Run Code Online (Sandbox Code Playgroud)

这是为了防止在文档完成加载(准备就绪)之前运行任何 jQuery 代码。

相当于

$(function() {
  // Handler for .ready() called.
});
Run Code Online (Sandbox Code Playgroud)

如果在 DOM 初始化后调用 .ready() ,则传入的新处理程序将立即执行。

以下是如果在文档完全加载之前运行方法可能会失败的一些操作示例:

1.试图隐藏尚未创建的元素

2.尝试获取尚未加载的图像的大小

jQuery 团队为文档就绪事件创建了一个更短的方法:

$(function(){

   // jQuery methods go here...

});
Run Code Online (Sandbox Code Playgroud)

使用哪种语法取决于开发人员,但文档就绪事件在阅读代码时更容易理解

有关更多详细信息:请参阅


Que*_*tin 5

$()调用一个函数(一个名为$,在JS中是一个有效的函数名,即使它看起来不像一个函数或者给你任何关于函数功能的线索).

function() {...}是一个函数表达式,它定义了一个新函数(与3定义新数字或[]新数组的方式相同).

在这种情况下,函数式是第一参数$函数调用.

jQuery库定义了一个$函数(它是高度重载的,所以它根据你传递给它的东西做了很多不同的事情).

如果将函数传递给$,则在DOM ready事件触发时它将调用传递的函数.