Ringkasan pertimbangan umum untuk petua definition_javascript fungsi JavaScript

WBOY
Lepaskan: 2016-05-16 16:36:22
asal
1190 orang telah melayarinya

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'); 
} 

Salin selepas log masuk

2. Ungkapan fungsi Pada masa ini, fungsi tanpa nama ditetapkan kepada pembolehubah ini perlu digunakan selepas ditakrifkan, seperti

foo(); //报错,未定义 
var foo = function() { 
  alert('hello'); 
} 

Salin selepas log masuk

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); //正确 
Salin selepas log masuk

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()();

Salin selepas log masuk

Saya percaya bahawa perkara yang diterangkan dalam artikel ini mempunyai nilai rujukan tertentu untuk pembelajaran semua orang tentang pengaturcaraan WEB javascript.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan