自调用函数 jQuery [重复]

2024-01-29

我注意到在某些地方,jQuery 代码被包装在一个自调用函数中,如下所示。为什么要这样做,在什么情况下这是有用的,在什么情况下是不必要的样板?

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

简短的回答:防止变量名冲突。它并不总是需要的,但却是创建无冲突的可重用代码的良好实践。

长答案:在 javascript 中,$ 符号只是另一个变量。 jQuery 使用它是因为它是一个很好的速记方式,而不必每次都键入 jQuery,但任何其他代码(包括其他库)也可以。

为了防止与同一范围内变量的其他使用发生冲突(在本例中 $ 在“全局”范围内),通常将代码包装在自调用函数中,并将“无冲突”变量作为传递函数参数。然后,这将创建一个新的范围,您的变量不会干扰该变量的其他使用。这样您就可以传递完整的命名变量并在匿名函数中使用您想要的任何名称。

因此,在创建无冲突的可重用代码时,最好使用以下方法:

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

沿着这些线,您还将看到以下格式:

(function( $, window, undefined ) {
  ...
})( jQuery, window );

在这种情况下undefined只是为了可读性而使用,以指示没有更多参数传递给函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自调用函数 jQuery [重复] 的相关文章

随机推荐