1. ホーム
  2. javascript

なぜjQueryを2回宣言するのか?[重複している]。

2023-07-18 23:38:31

質問

次のコードの目的は何ですか?

以下の2番目のスクリプトコードの前に注意してください。 jquery.min.js が既に含まれていて googleapis .

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery.min.js"><\/script>')</script>

どのように解決するのですか?

それは、フォールバックすることです。 jquery.min.js ファイルが存在する場合、同じサーバに保存されている CDN がダウンしていたり、アクセスできなかったりした場合に、同じサーバーに保存されるファイルです。

本質的に言っているのは

// 1. Try to download and run https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js

// 2. Was jQuery successfully loaded from the CDN? If so, it will be defined:
if (window.jQuery) {
    // Yes, it's defined. Good. Nothing more needed.
}
else {
    // No, it's not defined. Use my copy:
    document.write('<script src="/assets/js/vendor/jquery.min.js"><\/script>')
}

詳しくはこちら また、元のコードもご覧いただけます。 はこちら .

について window.jQuery || document.write(...) は、本質的に上記のコードの略記です。定義されたとき window.jQuery 真実性 となるので、右側のステートメントである || が実行されます。しかし、定義されていない場合は ファルシー の右側にあるステートメントが実行され || となります。 が実行される。