JavaScript kemahiran penggunaan fungsi anonim_javascript

WBOY
Lepaskan: 2016-05-16 16:14:15
asal
1159 orang telah melayarinya

Contoh dalam artikel ini menerangkan penggunaan fungsi tanpa nama JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:

1. Tentukan fungsi

Dalam JavaScript, fungsi boleh ditakrifkan melalui "pengisytiharan fungsi" dan "ungkapan fungsi", seperti

1. Tentukan fungsi melalui "pengisytiharan fungsi"

function t1(){}
Salin selepas log masuk

2. Takrifkan fungsi melalui "ungkapan fungsi"

t2 = function(){}
Salin selepas log masuk

Tetapi kesan mentakrifkan fungsi dalam dua cara adalah berbeza
t1 ialah pengisytiharan fungsi semasa 'analisis leksikal', AO.t1 = function(){},-------------ia akan memainkan peranan dalam peringkat 'analisis leksikal'
t2 ialah operasi tugasan Semasa 'run', AO.t2 = function(){}, nilai ialah hasil yang dikembalikan oleh ungkapan di sebelah kanan, ------ia hanya dimainkan dalam 'run'. pentas

2. Fungsi tanpa nama

Dalam JavaScript, penyataan dalam kurungan () dilaksanakan sebagai ungkapan Seperti yang dinyatakan di atas, anda boleh menggunakan "ungkapan fungsi" untuk menentukan fungsi, kemudian, kita boleh mentakrifkan fungsi dalam (), seperti

(function t3(){alert(' i am t3');})
Salin selepas log masuk

Jika fungsi tidak menggunakan nama, ubah suainya seperti berikut

(function(){alert(' i am t3');})
Salin selepas log masuk

Memandangkan pernyataan yang terkandung dalam () ialah ungkapan, ia mempunyai nilai pulangan Nilai pulangan (function(){alert(' i am t3');}) ialah fungsi yang ditakrifkan, yang boleh dipanggil serta-merta. , seperti

(function(){alert(' i am t3');})()
Salin selepas log masuk

Oleh itu, tentukan fungsi tanpa nama dalam kurungan (), yang dipanggil fungsi tanpa nama. Dengan cara ini, fungsi tanpa nama dilaksanakan serta-merta tanpa mencemarkan keadaan global, yang dipanggil pelaksanaan segera ungkapan fungsi.

3. jquery ialah fungsi tanpa nama

Kod jquery dirangkumkan dalam fungsi tanpa nama Ini adalah kod terluar jquery:

(function(window,undefined){})(window);//立即调用
Salin selepas log masuk

Tetapi mengapa jquery melepasi tetingkap tetapi tidak tidak ditentukan?

Jawapan: Tujuan lulus tetingkap adalah untuk mempercepatkan carian dan mengurangkan masa menanyakan pembolehubah. Contohnya, kod js berikut

function(){
 function(){
   function(){
  function(){
   document.getElementById();
//这个document将会沿作用域层层上找,直到最外层window全局。
  }
   }
 }
}
Salin selepas log masuk

Untuk mempercepatkan carian dalaman pembolehubah tempatan, jquery terus melepasi tetingkap sebagai parameter, supaya tetingkap berada pada AO dalaman jquery.

Sebab untuk tidak lulus undefined adalah untuk keselamatan, kerana dalam versi IE dan FF yang lebih rendah, undefined boleh ditugaskan semula, seperti undefined=3;

Istiharkan pembolehubah tempatan tidak ditentukan (nama tidak ditentukan), dan pada masa yang sama, tanpa lulus parameter, nilai secara semula jadi tidak ditentukan

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!