3

どういう意味ですか?:

 (function($){

  })(jQuery);

そして、それを使用する理由は何ですか?ありがとう。

4

5 に答える 5

2

関数を使用して JavaScript で新しいスコープを作成しています ({} は新しいスコープを作成しないため)。JQuery次に、すぐにこの関数を呼び出して外側のスコープからキャプチャし、内部で変数として使用できるようにします$

于 2013-08-10T11:34:35.280 に答える
2

Self Executing Closure(自己実行機能)です。

ここでは、jQuery をドル記号にマップするこの自己実行関数に jQuery を渡します。したがって、その実行範囲内で別のライブラリによって上書きされることはありません。

別の名前空間内にコードをカプセル化することを好むため、新しいプラグインを作成するときに、そのような構文を作成する必要があります。

于 2013-08-10T11:52:19.560 に答える
1
(function($) {
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library

$ エイリアスを元に戻し、関数を作成して実行し、関数のスコープ内で $ を jQuery エイリアスとして提供します。関数内では、元の $ オブジェクトは使用できません。これは、他のライブラリに依存しないほとんどのプラグインでうまく機能します。

于 2013-08-10T11:33:50.027 に答える
0

に渡すことで、他のlikeからの競合$function防ぎます。libraries

<!-- Using the $ inside an immediately-invoked function expression. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
   jQuery.noConflict();
   (function( $ ) {
       // Your jQuery code here, using the $
   })( jQuery );
   //Passing jQuery from here prevents $ variable which is also used by prototype
</script>

avoid-conflicts-other-librariesを読む

于 2013-08-10T11:43:38.317 に答える