Javascript与jQuery功能的区别?

时间:2013-05-18 19:19:24

标签: javascript jquery function syntax

我一直在制作一个程序,我想知道启动这两个函数之间的区别:

$(function () {
   //content
});

function Name () {
    //content
}

另外,为什么我不能说出第一个例子?我尝试将第一个示例更改为第二个示例,并且该函数已完全停止工作。我在第一个例子中使用了jQuery,一切都很好,但是用不同的例子,函数停止工作。

那有什么区别?

4 个答案:

答案 0 :(得分:12)

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

的快捷方式

虽然:

function Name () {
    //content
}

是标准的javascript函数。

答案 1 :(得分:4)

第一个是用于jQuery ready事件的函数表达式,而第二个是函数。

使用$(function(){...});$(document).ready(function(){...});的缩写。

文档加载完成后发生ready事件,因此事件处理程序将自动运行。除非你打电话,否则常规功能根本不会运行。

您可以自然地使用常规函数而不是事件处理程序的函数表达式:

function readyHandler() {
  ...
}

$(readyHandler); // or $(document).ready(readyHandler);

可以命名函数表达式 ,例如:

var x = function y() { ... };

但是,函数表达式的名称(示例中为y)不是全局的,它只能在函数本身内部使用。此外,浏览器的确切实现也有所不同,因此您应该避免使用它。

答案 2 :(得分:0)

第一个是所谓的匿名函数。它在文档就绪事件

上执行
$(document).ready(...);

是jQuery约定。由于你不能直接调用它,它没有/不需要名字。

第二个版本是标准功能,您可以随时按名称调用。

如果您将第一个更改为第二个表示法,它将不再自动在文档就绪状态下运行。安全的方法是使用第二种表示法将“worklaod”移动到一个函数中,并使用调用函数的第一个符号创建一个行。这样你就拥有了两全其美:可单独调用的函数和简单的自动执行。

答案 3 :(得分:0)

第一个:

 $(function () {
 //content
 });

将匿名函数传递给jQuery对象$,相当于$(document).ready(function(){});

第二个只是一个名为Name的JavaScript函数。