Semasa saya mencari cara untuk mereka bentuk API Javascript, saya dapati Kaedah Rantaian kelihatan sangat berkuasa dan menarik, dan ia adalah sesuatu yang sering kita lihat pada masa lalu. .
Perantaian Kaedah Javascript
Terdapat penjelasan ini di Wikipedia:
Rantaian kaedah, juga dikenali sebagai simpulan bahasa parameter, ialah sintaks biasa untuk memanggil berbilang panggilan kaedah dalam bahasa pengaturcaraan berorientasikan objek Setiap kaedah mengembalikan objek, membolehkan panggilan dirantai bersama dalam satu pernyataan. Rantaian ialah gula sintaktik yang menghilangkan. keperluan untuk pembolehubah perantaraan Rantai kaedah juga dikenali sebagai bangkai kereta api disebabkan oleh peningkatan bilangan kaedah yang datang satu demi satu dalam baris yang sama yang berlaku kerana lebih banyak kaedah dirantai bersama-sama walaupun pemisah baris sering ditambah antara kaedah.
Ambil alat terjemahan dan terjemahkannya:
Perangkaian kaedah, juga dikenali sebagai kaedah parameter bernama, ialah sintaks biasa untuk memanggil pelbagai kaedah dalam bahasa pengaturcaraan berorientasikan objek. Setiap kaedah mengembalikan objek, membenarkan panggilan disambungkan bersama dalam satu pengisytiharan. Pautan adalah gula sintaksis, menghapuskan keperluan untuk pembolehubah perantaraan. Rantaian kaedah juga dikenali sebagai bangkai kereta api kerana bilangan kaedah yang datang satu demi satu pada baris yang sama meningkat kerana lebih daripada satu kaedah dikunci walaupun jika pemisah baris biasanya ditambah antara kaedah.
Perantaian Kaedah menggunakan
Menurut pemeriksaan visual, jQuery mungkin merupakan rangkaian kaedah yang paling banyak digunakan.
// merantai
$("#orang").slideDown('perlahan')
.addClass('berkumpulan')
.css('margin-left', '11px');
Kita boleh memanggil ini dengan penggunaan seperti ini. jQuery sangat bergantung pada pautan. Ini memudahkan untuk memanggil beberapa kaedah pemilih yang sama. Ini juga menjadikan kod lebih bersih dan menghalang pelaksanaan pemilihan yang sama beberapa kali (meningkatkan prestasi). Apabila tiada rantai kaedah, ia kelihatan seperti berikut
var p = $('#orang');
p.slideDown('perlahan');
p.addClass('berkumpulan');
p.css('margin-left', '11px');
Ia kelihatan sangat serupa dengan pembina dalam corak reka bentuk Perbezaannya ialah p di sini ialah kaedah dan bukannya kelas.
Contoh rantai kaedah JavaScript
Apabila kita bercakap tentang fungsi tertib tinggi Javascript sebelum ini, kita bercakap tentang print('Hello')('World'), dan hasil daripada penggunaan ini mungkin menjadi seperti ini.
fungsi f(i){
kembalikan fungsi(e){
i =e;
Kembalikan fungsi(e){
i =e;
Kembalikan fungsi(e){
makluman(i e);
};
};
};
};
f(1)(2)(3)(4); //10
Ini adalah contoh dari Internet, tetapi ini juga kali terakhir saya menulis panggilan berantai. Nampak sangat lemah.
var func = (function() {
Kembali{
tambah: fungsi () {
console.log('1');
kembali{
hasil: fungsi () {
console.log('2');
}
}
}
}
})();
func.add().result();
Malah, mesti ada pulangan ini dalam setiap fungsi, jadi ada:
Fungsi = (fungsi() {
This.add = function(){
console.log('1');
kembalikan ini;
};
This.result = function(){
console.log('2');
kembalikan ini;
};
Kembalikan ini;
});
var func = new Func();
func.add().result();
Sudah tentu kita juga boleh menggantikan dua ayat terakhir
var func = new Func();
func.add().result();
Jadilah
baru Func().tambah().hasil();
Lain-lain
Akhir sekali, sedikit perbandingan sebagai tempat yang mengelirukan:
Perantaian Kaedah VS Penyambungan prototaip
Rantai prototaip dan rantai kaedah adalah serupa dalam beberapa aspek, tetapi perbezaannya mungkin
1. Rantaian prototaip memerlukan penggunaan prototaip
2. Rangkaian kaedah menggunakan kaedah