Rumah > Artikel > hujung hadapan web > Ringkasan pertimbangan umum untuk petua definition_javascript fungsi JavaScript
Artikel ini meringkaskan masalah biasa dengan definisi fungsi JavaScript. Mengandungi kesilapan biasa yang dilakukan oleh pemula. Kongsikan dengan semua orang untuk rujukan anda. Ringkasan khusus adalah seperti berikut:
1. Apabila fungsi diisytiharkan, enjin JS juga mentakrifkan pembolehubah dengan nama yang sama dengan nama fungsi Apabila kita memanggil fungsi ini, kita sebenarnya menggunakan pembolehubah ini, dan ia boleh dipanggil sebelum fungsi diisytiharkan , seperti
foo(); //这里实际上是使用了一函数变量 function foo() { alert('hello'); }
2. Ungkapan fungsi Pada masa ini, fungsi tanpa nama ditetapkan kepada pembolehubah ini perlu digunakan selepas ditakrifkan, seperti
foo(); //报错,未定义 var foo = function() { alert('hello'); }
3. Ungkapan fungsi (dengan nama fungsi), penggunaan ini sebaiknya dielakkan Pada masa ini, nama fungsi hanya tersedia secara dalaman dalam pelayar bukan IE, seperti
bar(5); //报错,未定义 var bar = function foo(n) { if (n == 1) return 1; else return n * foo(n - 1); } foo(5); //非IE报错,未定义 bar(5); //正确
4. Tentukan dengan Pembina Fungsi Kaedah ini tidak cekap Setiap kali fungsi dilaksanakan, badan fungsinya akan dihuraikan. Selain itu, fungsi yang diisytiharkan dengan cara ini tidak akan mewarisi skop kedudukan pengisytiharan semasa Ia hanya akan mempunyai skop global secara lalai, seperti
function foo() { var bar = 'hello'; return Function('alert(bar)'); //报错,全局变量bar未定义 } foo()();
Saya percaya bahawa perkara yang diterangkan dalam artikel ini mempunyai nilai rujukan tertentu untuk pembelajaran semua orang tentang pengaturcaraan WEB javascript.