periksa sama ada fungsi jQuery wujud: Petua Praktikal dan Soalan Lazim
function somenoobfunction() { } // 使用jQuery if ($.isFunction(window.somenoobfunction)) { // 执行函数 somenoobfunction(); } else { // 函数不存在 document.writeln('somenoobfunction 函数不存在'); }
Nota: Bermula dari versi jQuery 1.3, fungsi yang disediakan oleh penyemak imbas (seperti amaran ()) dan kaedah elemen DOM (seperti getAttribute ()) tidak dijamin dikesan sebagai fungsi dalam pelayar seperti Internet Explorer. Untuk maklumat lanjut, sila rujuk: Soalan Lazim Mengenai Pemeriksaan Kewujudan Fungsi JQuery (Soalan Lazim)
1.
Dalam jQuery, anda boleh menggunakan pengendali untuk memeriksa sama ada fungsi itu wujud. Pengendali ini mengembalikan rentetan yang menunjukkan jenis operan yang tidak dikira. Jika operan adalah fungsi,
akan mengembalikan "fungsi". Contohnya adalah seperti berikut:
typeof
typeof
Dalam kod ini,
if (typeof functionName === 'function') { functionName(); }
functionName
2.
Jika anda cuba memanggil fungsi yang tidak wujud dalam jQuery, anda akan menerima ralat JavaScript bahawa fungsi itu tidak ditakrifkan. Ini boleh menyebabkan skrip berhenti melaksanakan, mengakibatkan tingkah laku aplikasi web yang tidak dijangka. Oleh itu, pastikan anda sentiasa memeriksa sama ada fungsi itu wujud sebelum memanggilnya.
3.
Ya, anda boleh menggunakan pengendali typeof
untuk memeriksa sama ada fungsi itu wujud dalam JavaScript tulen (bukan hanya dalam jQuery). Pengendali adalah sebahagian daripada bahasa JavaScript dan berfungsi dalam jQuery dengan cara yang sama ia berfungsi dalam JavaScript.
typeof
4. typeof
anda boleh menggunakan pengendali dan periksa sama ada fungsi utama plugin ditakrifkan untuk memeriksa sama ada plugin jQuery dimuatkan. Contohnya adalah seperti berikut:
Dalam kod ini, typeof
adalah nama plugin yang akan diperiksa. Jika plugin dimuatkan, kod di dalam pernyataan
if (typeof $.fn.pluginName === 'function') { // 插件已加载 }
pluginName
5. if
Anda boleh menyemak sama ada fungsi wujud dalam versi jQuery tertentu. Walau bagaimanapun, ini memerlukan pemahaman fungsi yang ditambah atau dikeluarkan dalam setiap versi jQuery. Anda boleh mendapatkan maklumat ini dalam dokumen jQuery atau melalui carian dalam talian.
6.
Periksa sama ada fungsi wujud mempunyai kesan minimum terhadap prestasi. Pengendali typeof
sangat cepat dan bahkan sering digunakan tidak akan melambatkan kod.
7.
Ya, anda boleh menggunakan pengendali typeof
dan periksa sama ada fungsi ditakrifkan pada objek untuk memeriksa sama ada fungsi itu dalam objek jQuery. Contohnya adalah seperti berikut:
function somenoobfunction() { } // 使用jQuery if ($.isFunction(window.somenoobfunction)) { // 执行函数 somenoobfunction(); } else { // 函数不存在 document.writeln('somenoobfunction 函数不存在'); }
8.
Ya, anda boleh menggunakan pengendali typeof
dan periksa jika fungsi ditakrifkan pada fungsi utama plugin untuk memeriksa sama ada fungsi itu dalam plugin jQuery. Contohnya adalah seperti berikut:
if (typeof functionName === 'function') { functionName(); }
9. in
untuk memeriksa sama ada fungsi wujud dalam jQuery. in
Pulangan Operator in
Jika harta yang ditentukan wujud dalam objek yang ditentukan. Contohnya adalah seperti berikut: true
if (typeof $.fn.pluginName === 'function') { // 插件已加载 }
10.
Ya, anda boleh menggunakan pengendali untuk memeriksa sama ada fungsi itu ditakrifkan tanpa benar -benar memanggil fungsi tersebut. Contohnya adalah seperti berikut: typeof
var obj = $('#myElement'); if (typeof obj.functionName === 'function') { obj.functionName(); }
Atas ialah kandungan terperinci Juara semak jika fungsi ada contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!