⊗jsPmMCVD 496 of 505 menu

JavaScriptにおける変数の競合

ここに、index.htmlというHTMLページがあり、 scriptタグ内で変数strを作成し、 画面に表示しているとします:

<html> <head> <script> let str = 'script text'; alert(str); // 'script text'を出力 </script> </head> <body> ... </body> </html>

また、script.jsというファイルがあり、 そこでも変数strが設定されているとします:

let str = 'file text';

ここで、ファイルscript.jsが次のように ページindex.htmlに接続されるとします:

<html> <head> <script> let str = 'script text'; </script> <script src="script.js"></script> <script> alert(str); </script> </head> <body> ... </body> </html>

変数strはファイルindex.htmlと ファイルscript.jsの両方に存在するため、 競合が発生し、より下に書かれた変数、つまり ファイルscript.jsからの変数が優先されます。 したがって、このコードは期待する'script text'ではなく、 'file text'を出力します。

この問題は実際には非常に深刻です。 実際のサイトでは、ほとんどの場合、複数のスクリプトファイルがあり、 さらにいくつかのサードパーティ製プラグインを接続することになります。 この場合、あるファイルの変数や関数が、 別のファイルの変数や関数と競合する可能性があります。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否