1

可能重复:
javascript中的“$”符号是什么意思

$匿名函数开头的区别是什么?

这个例子:

(function() {
  ...
})();

对比这个:

$(function() {
  ...
})();
4

4 回答 4

4
(function() {})();

上面的行是创建一个匿名函数,然后立即执行它

$(function() {})();

假设您已加载 jQuery,上面的行会导致错误。这部分 $(function(){}) 将一个匿名函数传递给运行的 jQuery。jQuery 会返回一个 Document 对象给你。因为您有结束括号 (),所以 Javascript 将尝试将 Document 对象作为函数执行。因为 Document 对象不是函数,所以会引发 TypeError 异常。

于 2012-10-05T02:00:53.477 回答
1

取自 jQuery 网站:

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果我们需要在 jQuery 旁边使用另一个 JavaScript 库,我们可以通过调用 $.noConflict() 将 $ 的控制权返回给另一个库:

您可以在此处阅读所有相关信息。

这正如之前在这个这个stackoverflow 问题中所涵盖的一样!

于 2012-10-05T02:00:43.307 回答
1

像所有其他答案一样

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

真的只是

    jQuery(function(){

     });

第二个将相同,它与您示例中的其他类型的函数之间的区别在于,第一个必须从某个地方调用,其中作为 jQuery 版本 - 如果 jQuery 以 HTML 加载,它将自动运行当文件准备好时。

于 2012-10-05T02:05:17.550 回答
0

您的第一个示例是一个自执行函数,它在定义后立即开始执行,而第二个示例在文档准备好被操作时由 jQuery 执行。

为了更好地理解为什么第一个模式有用,您可以参考这个 SO answer

您还可以在函数文档中阅读有关将函数传递给 jQuery 的更多.ready()信息

于 2012-10-05T01:53:34.617 回答