Ralat Tidak Ditakrifkan Fungsi JavaScript (TETAPI IA DITENTUKAN)

Ralat Tidak Ditakrifkan Fungsi Javascript Tetapi Ia Ditentukan



Dalam JavaScript, ' fungsi tidak ditakrifkan ” ialah ralat biasa yang berlaku apabila program cuba menggunakan fungsi yang belum diisytiharkan atau ditakrifkan dalam skop semasa. Mesej ralat ini boleh mengelirukan kerana kadangkala fungsi itu sebenarnya ditakrifkan dalam kod, tetapi ia masih menghasilkan ralat.

Artikel ini akan menerangkan 'ralat fungsi tidak ditentukan' JavaScript semasa ia ditakrifkan.

Ralat Tidak Ditakrifkan Fungsi JavaScript (TETAPI IA DITENTUKAN)

Kadangkala, fungsi itu ditakrifkan dalam kod, tetapi masih, anda boleh menghadapi ralat berikut:









Terdapat dua sebab utama mengapa ralat di atas berlaku selepas mentakrifkan fungsi, yang disenaraikan di bawah:



Sebab 1: Fungsi Tersalah Eja atau Huruf Besar yang Salah

Kadangkala, fungsi itu dipanggil dengan ejaan yang salah. Memandangkan JavaScript ialah bahasa sensitif huruf besar-besaran, penterjemah JavaScript tidak dapat mencarinya dan membuang ' fungsi tidak ditakrifkan ” kesilapan.





Contoh

Pertama, kita akan menentukan fungsi ' summ 'yang mengembalikan hasil tambah dua nombor' a ” dan “ b ”:

fungsi summ ( a, b ) {

kembali a + b ;

}

Panggil fungsi ' summ 'sebagai' jumlah 'dengan menghantar nombor' 4 ” dan “ 7 ”:



konsol. log ( jumlah ( 4 , 7 ) )

Ia akan menimbulkan ralat ' jumlah tidak ditentukan ”:

Bagaimana untuk Membetulkannya?

Untuk membetulkan ralat ini, pastikan nama fungsi dieja dengan betul dan mempunyai huruf besar yang betul:

konsol. log ( summ ( 4 , 7 ) ) ;

Sekarang, fungsi ' summ ” telah berjaya dipanggil dan mencetak jumlah dua nombor “ 4 ” dan “ 7 ”:

Sebab 2: Fungsi Ditakrifkan dalam Skop Berbeza

Dalam JavaScript, setiap fungsi mempunyai skopnya dan fungsi hanya boleh mengakses pembolehubah dan fungsi yang ditakrifkan dalam skopnya sendiri. Jika fungsi ditakrifkan dalam skop yang berbeza, ia mungkin tidak boleh diakses oleh skop semasa, mengakibatkan ' fungsi tidak ditakrifkan ” kesilapan.

Contoh

Tentukan fungsi ' jumlah() 'dengan dua parameter' a ” dan “ b 'di dalam fungsi' cetak() ”:

cetakan fungsi ( ) {

jumlah fungsi ( a, b ) {

konsol. log ( a + b ) ;

}

}

Panggil fungsi ' jumlah() ”:

jumlah ( 5 , 10 ) ;

Ia memberikan ralat kerana sum() ditakrifkan di dalam fungsi print() tetapi diakses di luar dari skop:

Bagaimana untuk Membetulkannya?

Pastikan fungsi ditakrifkan dalam skop yang sesuai dan boleh diakses dari tempat ia dipanggil. Contohnya, jika fungsi ditakrifkan di dalam fungsi lain, ia mungkin tidak boleh diakses dari luar.

Panggil sum() di dalam fungsi print() selepas mentakrifkannya:

cetakan fungsi ( ) {

jumlah fungsi ( a, b ) {

konsol. log ( a + b ) ;

}

jumlah ( 1 , 4 ) ;

}

Panggil kaedah print() :

cetak ( ) ;

Pengeluaran

Atau anda juga boleh mentakrifkan fungsi secara berasingan dan memanggilnya dalam skop fungsi lain seperti berikut:

jumlah fungsi ( a, b ) {

konsol. log ( a + b ) ;

}

Di sini, kami akan memanggil sum() di dalam fungsi print():

cetakan fungsi ( ) {

jumlah ( 5 , 10 ) ;

}

Panggil kaedah print() untuk melaksanakan fungsi “ jumlah() ”:

cetak ( ) ;

Hasil tambah dua nombor “ 5 ” dan “ 10 ” telah dipaparkan:

Kami telah membincangkan sebab dan penyelesaian untuk JavaScript ' ralat fungsi tidak ditentukan ” (tetapi ditakrifkan).

Kesimpulan

Terdapat dua sebab utama mengapa ' fungsi tidak ditakrifkan ralat ' berlaku selepas mentakrifkan fungsi, seperti ' fungsi salah eja atau mempunyai huruf besar yang salah ' atau ' fungsi ditakrifkan dalam skop yang berbeza ”. Artikel ini mentakrifkan sebab dan penyelesaian untuk 'ralat fungsi tidak ditentukan' JavaScript (tetapi ia ditakrifkan).