Pembolehubah Global dalam JavaScript Merentas Berbilang Fail
Dalam banyak aplikasi JavaScript, kod disusun ke dalam fail berasingan untuk meningkatkan modulariti dan kebolehselenggaraan. Walau bagaimanapun, apabila bekerja dengan pembolehubah global merentas fail ini, had tertentu boleh timbul.
Isunya:
Seorang pembangun menulis fail JavaScript bernama "helpers.js" dan memasukkannya ke dalam dokumen HTML. Dalam kod HTML, mereka ingin menyemak sama ada fungsi tertentu daripada "helpers.js" telah dipanggil. Untuk mencapai matlamat ini, mereka menentukan pembolehubah global ("myFunctionTag") dalam kedua-dua kod HTML dan "helpers.js." Walau bagaimanapun, apabila mereka cuba mengakses "myFunctionTag" dalam kod HTML, ia sentiasa mengembalikan "false", walaupun ia ditetapkan kepada "true" dalam "helpers.js."
Penyelesaian:
Dalam JavaScript, pembolehubah global diisytiharkan pada skop peringkat atasan. Apabila pembolehubah diisytiharkan dalam teg skrip, ia mewujudkan skop baharu dan tidak menjejaskan pembolehubah yang diisytiharkan dalam teg skrip lain.
Untuk memastikan pembolehubah global ("myFunctionTag") boleh diakses dalam kedua-dua kod HTML dan "helpers.js," ia harus diisytiharkan di luar mana-mana teg skrip. Berikut ialah kod HTML yang diperbetulkan:
<code class="html"><script type='text/javascript'> var myFunctionTag = false; <!-- Declare the global variable outside of any script tag --> </script> <script type='text/javascript' src='js/helpers.js'></script> </code>
Dengan mengisytiharkan pembolehubah global di luar teg skrip, ia kini tersedia untuk semua kod berikutnya, termasuk fail "helpers.js". Ini membolehkan pembangun menyemak status "myFunctionTag" daripada kod HTML dan mengambil tindakan yang sesuai berdasarkan sama ada fungsi itu telah dipanggil.
Atas ialah kandungan terperinci Mengapa pembolehubah global saya tidak boleh diakses merentas berbilang fail JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!