Home  >  Article  >  Web Front-end  >  Detailed analysis of JQuery's $naming conflict_jquery

Detailed analysis of JQuery's $naming conflict_jquery

WBOY
WBOYOriginal
2016-05-16 17:06:351183browse

In Jquery, $ is an alias of JQuery. All places where $ is used can also be replaced by JQuery. For example, $('#msg') is equivalent to JQuery('#msg'). However, when we introduce multiple js libraries and the $ symbol is also defined in another js library, then there will be a conflict when we use the $ symbol. The following is an example of introducing two library files jquery.js and prototype.js.

The first case: jquery.js is introduced after prototype.js, such as:


このステートメント ブロックを使用する方法は、jquery プラグインを自分で作成する場合、特定の作業プロセス中にさまざまな js ライブラリを順番に導入する方法がわからないため、この方法を使用する必要があります。この種のステートメントは、ブロック書き込み方式により競合を防ぐことができます。

(function($){})(jQuery)

1 まず、(function(){})() は、匿名メソッドを作成し、すぐに実行するように記述されています (function(){}) を呼び出す匿名メソッドの後の括弧です。この方法をすぐに実行してください。)
これを行うと、内部変数が $jQuery や jquery 内で定義された他の変数などの外部変数と競合しないようにするスコープを作成できます。

2 (function($){})(jQuery) この書き方の主な機能は、jquery が他のクラス ライブラリや変数と競合しないようにすることです。まず、変数が次のとおりであることを確認する必要があります。 jQuery の名前は外部と競合しません (jQuery 内部の $ と jQuery は同じものです。名前が 2 つある理由は、$ が他の変数名と競合することを恐れているためです (jQuery が他の変数と競合する可能性)は非常に小さい) を指定し、匿名オブジェクトを渡します。匿名オブジェクトはパラメータ $ に名前を付けます (実際には jquery と同じです。内部構造は同じです)。その後、(function($){})(jQuery) でプラグインを自由に書くことができます。 ) 外部変数との競合があるかどうかを考慮する必要はありません

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Specific implementation of JavaScript exporting page table to Excel_javascript skillsNext article:Specific implementation of JavaScript exporting page table to Excel_javascript skills

Related articles

See more