9
; (function ($, undefined)
{

    // all the variables and functions of the js document

})(jQuery);

我已经在 jquery/javascript 文件中看到过两次缩放脚本。我不明白这到底是什么。我似乎无法用谷歌搜索它,我不记得最近在学习 jquery 和 js 时在 tizag 或 w3schools 上遇到过这个。

这段代码之前或之后没有任何内容(除了一些注释)。所以我完全不知道(function())(jQuery);是什么或做什么。

4

2 回答 2

8
(function ($, undefined)
{

    // all the variables and functions of the js document

})(jQuery);

调用一个代码块,确保里面

  • $ 可以用来指代jQuery
  • undefinedundefined(编辑:这很有用,因为undefined当时可以在最旧的浏览器中重新定义,现在没用了)

并且任何缩小器都可以更改undefined为更短的标签。

初始;确保您可以将此文件与另一个文件连接:没有这个,如果之前的文件类似于

(function (){

})()
于 2013-04-19T12:50:43.313 回答
5

这是一种确保$确实是jQuery对象并确保任何局部变量和方法都是私有作用域的方法,即不污染全局命名空间。

它是一个自调用的匿名函数,传递的参数是jQuery,意味着$将是jQuery对象。

在函数内部声明意味着内部变量和方法在函数外部不可见。

于 2013-04-19T12:50:18.017 回答