Rumah > hujung hadapan web > tutorial js > JavaScript fungsi anonymous instance analysis_javascript kemahiran

JavaScript fungsi anonymous instance analysis_javascript kemahiran

WBOY
Lepaskan: 2016-05-16 16:30:55
asal
1651 orang telah melayarinya

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

Ringkasan:

Artikel ini menerangkan perkara paling asas dan penting dalam JavaScript - fungsi Sebab mengapa saya menulis artikel ini adalah kerana saya ditanya mengenainya semasa temu duga, dan ia boleh dianggap sebagai penyegar.

Mari kita ambil contoh dahulu Jika anda faham, ini bermakna anda sudah faham tentang maksud artikel ini.

Salin kod Kod adalah seperti berikut:
var f = (function() {

fungsi f() {kembali 10;}

kembalikan f();

fungsi f() {kembali 20;}

var f = 30;

})();

console.log(f);

Fungsi diterangkan dalam pengaturcaraan JavaScript lanjutan seperti ini - ia boleh merangkum sebarang bilangan pernyataan dan boleh dipanggil dan dilaksanakan di mana-mana dan pada bila-bila masa. Saya memperkenalkan mod ketat sebelum ini. Mod ketat mempunyai beberapa sekatan pada fungsi:

① Fungsi tidak boleh dinamakan eval atau argumen
② Anda tidak boleh menamakan parameter sebagai eval atau argumen
③ Tidak boleh ada dua parameter bernama dengan nama yang sama

Jika situasi di atas berlaku, ia akan menyebabkan ralat sintaks dan kod tidak boleh dilaksanakan.

Takrifan fungsi

Takrifan fungsi terbahagi kepada tiga jenis

1. Pembina

Salin kod Kod adalah seperti berikut:
var fun = new Funciton();

2. Definisi biasa

Salin kod Kod adalah seperti berikut:
function fun() {}

3. Definisi berfungsi

Salin kod Kod adalah seperti berikut:
var fun = function() {};

Keseronokan fungsi boleh ditakrifkan dalam tiga cara ini.

Parameter

Fungsi ini tidak mengambil kira berapa banyak parameter yang dihantar, mahupun jenis data yang dihantar oleh parameter. Walaupun fungsi yang anda takrifkan hanya menerima dua parameter, anda tidak semestinya perlu melepasi dua parameter apabila memanggil fungsi ini. Anda boleh melepasi satu, tiga atau bahkan tiada parameter. Sebabnya ialah parameter diwakili secara dalaman oleh tatasusunan. Dalam badan fungsi, tatasusunan parameter boleh diakses melalui objek argumen, contohnya

Salin kod Kod adalah seperti berikut:
fungsi sayHi() {

makluman("Hello " arguments[0] "," arguments[1]);

}

Ketahui berapa banyak parameter yang ada dengan mengakses sifat panjang objek argumen. Panjang fungsi mengembalikan bilangan parameter fungsi.

Nota: Semua parameter diluluskan mengikut nilai, dan adalah mustahil untuk lulus parameter melalui rujukan.

Fungsi tidak boleh dibebankan, ia hanya boleh ditulis semula

Jika dua fungsi dengan nama yang sama ditakrifkan, nama itu hanya dimiliki oleh fungsi yang ditakrifkan terakhir, contohnya:

Salin kod Kod adalah seperti berikut:

fungsi tambah(bilangan) {

kembalikan nombor 100;

}

tambah fungsi(bilangan) {

kembalikan nombor 200;

}

hasil var = tambah(100) //300

Nota: Fungsi berhenti dan keluar serta-merta selepas melaksanakan pernyataan pulangan.

Jenis fungsi

Fungsi terbahagi kepada dua jenis: satu dinamakan fungsi dan satu lagi fungsi tanpa nama. Contohnya, fungsi terkenal berikut

Salin kod Kod adalah seperti berikut:
function fun() {

}

Jika dipanggil, hanya keseronokan() diperlukan.

Fungsi tanpa nama, seperti namanya, tidak mempunyai nama fungsi. Contohnya

fungsi() {}

Panggilan fungsi dipanggil melalui nama fungsi Bagaimana untuk memanggil fungsi tanpa nama? Satu adalah untuk menetapkan fungsi tanpa nama kepada pembolehubah dan biarkan pembolehubah berfungsi sebagai nama fungsi. Yang lain ialah menggunakan () untuk memanggil, seperti tiga kaedah berikut

1. (function() {return;}());

2. (function() {return;})();

3. function() {return;}();

Contoh:

Salin kod Kod adalah seperti berikut:

(fungsi(x, y) {

​​makluman(x y);

})(2,3);

//makluman(5)


2 dan 3 akan dihantar sebagai parameter kepada x dan y

Mari kita bercakap tentang contoh teratas. Contoh ini melibatkan penutupan, yang akan dibincangkan kemudian

Mula-mula takrifkan pembolehubah f, dan kemudian tetapkan ia kepada fungsi tanpa nama Perlu diperhatikan di sini bahawa takrifan semua pembolehubah dalam fungsi itu akan ditambah, jadi susunan pelaksanaan dalam fungsi tanpa nama ialah
.

Salin kod Kod adalah seperti berikut:

var f = (fungsi() {

var f = 30;

fungsi f() {kembali 10;}

fungsi f() {kembali 20;}

kembalikan f();

})();


Pembolehubah luar f dan pembolehubah dalam f tidak berada dalam skop yang sama (penutupan), jadi mereka tidak mempunyai pengaruh antara satu sama lain. ​Oleh kerana fungsi tidak boleh terlebih beban, pembolehubah luaran f=(fungsi f() {return 20;})();, jadi output akhir ialah 20.

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