Rumah > Artikel > hujung hadapan web > Mengapakah fungsi JavaScript saya tidak ditakrifkan dalam JSFiddle?
Mengapa JavaScript tidak Berjalan pada JSFiddle: Menyelesaikan Ralat Definisi Fungsi
Apabila cuba menjalankan kod JavaScript pada JSFiddle, anda mungkin menghadapi ralat menunjukkan bahawa fungsi tertentu tidak ditakrifkan. Ini berlaku kerana JSFiddle merangkum kod dalam fungsi onload, mengehadkan skop definisi fungsi.
Definisi dan Rujukan Fungsi
Dalam kod yang disediakan, fungsi seperti fillList( ) dan mySelectList() ditakrifkan dalam fungsi window.onload. Ini bermakna fungsi ini hanya boleh diakses dari dalam fungsi ini. Walau bagaimanapun, anda cuba merujuknya sebagai pembolehubah global dalam HTML anda, yang membawa kepada ralat.
Pilihan Penyelesaian
Untuk menyelesaikannya, anda mempunyai tiga pilihan:
a) Mengubah Suai Fungsi sebagai Pembolehubah Global
<code class="javascript">window.fillList = function() {}; // makes fillList a global function</code>
b) JavaScript yang tidak mengganggu
<code class="javascript">// attach event listener from within JavaScript var mySelectList = document.getElementById('mySelectList'); mySelectList.addEventListener('change', function() { alert('Selection changed!'); });</code>
c) Mengubah suai Tetapan JSFiddle
Cadangan
Pilihan b) amat disyorkan kerana ia menggalakkan amalan terbaik dan organisasi kod. Dengan mengasingkan HTML daripada JavaScript, anda memperoleh kawalan dan fleksibiliti yang lebih besar ke atas kod anda.
Atas ialah kandungan terperinci Mengapakah fungsi JavaScript saya tidak ditakrifkan dalam JSFiddle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!