这是什么语法? ; (函数($,undefined)

; (function ($, undefined) { // all the variables and functions of the js document })(jQuery); 

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

此代码之前或之后没有任何内容(除了一些注释)。 所以我完全迷失了什么(function())(jQuery); 是或是。

 (function ($, undefined) { // all the variables and functions of the js document })(jQuery); 

调用一段代码确保内部

  • $可用于引用jQuery
  • undefined undefined

并且任何minifier都可以将undefined更改为更短的标签。

最初的; 确保您可以将此文件与另一个文件连接起来:如果没有这个,如果之前的文件类似于执行连接文件,则会出现错误

 (function (){ })() 

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

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

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