Ini adalah hal yang menarik, yang juga dapat menggambarkan kekuatan objek JavaScript. Yang harus kita lakukan adalah menampilkan Hello, World seperti yang disebutkan dalam artikel sebelumnya, dan inputnya cetak ('halo') ('dunia'), dan ini adalah fungsi orde tinggi.
Fungsi lanjutan
Urutan lanjutan terlihat seperti istilah esoterik untuk teknik pemrograman canggih, dan saya pikir ketika saya pertama kali melihatnya.
Fungsi JavaScript tingkat tinggi
Namun, fungsi tingkat tinggi hanyalah fungsi yang mengambil fungsi sebagai argumen atau nilai pengembalian. Halo dan dunia adalah contoh sederhana.
Salinan kode adalah sebagai berikut:
var moqi = function (p1) {
this.add = function (p2) {
return p1 + '' + p2;
};
Kembalikan Tambah;
};
Kita dapat menggunakan fungsi ini seperti ini
Salinan kode adalah sebagai berikut:
console.log (moqi ('hello') ('world'));
Mungkin proses ini agak membingungkan, mari kita lihat apakah lebih rinci.
Salinan kode adalah sebagai berikut:
> typeof moqi ('halo')
<- "fungsi"
> Moqi ('halo')
<- function (p2) {
return p1 + '' + p2;
}
Artinya, pada kenyataannya, moqi ('halo') adalah fungsi, moqi ('halo')
Salinan kode adalah sebagai berikut:
> var m = moqi ('halo')
> m ('dunia')
> "Halo, dunia"
Dilihat dari situasi di atas, fungsi tingkat tinggi dapat membuat kode lebih ringkas dan efisien. Secara alami, kita juga dapat membuat fungsi untuk memfasilitasi:
Salinan kode adalah sebagai berikut:
> Moqi ('halo') ('dunia') ('phodal')
> "Halo, World Phodal"
Jadi ada fungsi seperti itu
Salinan kode adalah sebagai berikut:
var moqi = function (p1) {
return function (p2) {
return function (p3) {
return p1 + ',' + p2 + '' + p3;
}
};
};
Kembalikan fungsi tingkat tinggi
Sinyal yang perlu memperkenalkan fungsi-fungsi fungsi tingkat tinggi adalah kode duplikat atau serupa. Kemudian, kami memulihkan fungsi sebelumnya langkah demi langkah:
Salinan kode adalah sebagai berikut:
var moqi = function (p1) {
this.add = function (p2) {
return function (p3) {
return p1 + ',' + p2 + '' + p3;
}
};
kembalikan ini.
};
Kemudian buat fungsi baru
Salinan kode adalah sebagai berikut:
var moqi = function (p1) {
this.add = function (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
kembalikan this.add1;
};
kembalikan ini.
};
Menggunakan metode panggilan di JavaScript, akan ada:
Salinan kode adalah sebagai berikut:
var moqi = function (p1) {
var self = ini;
fungsi fd (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
}
self.add = function (p2) {
fd.call (ini, p2);
kembalikan this.add1;
};
mengembalikan self.add;
};
Contoh fungsi lanjutan
Contoh di atas hanya untuk bersenang -senang, dan contoh berikut adalah aplikasi nyata.
Salinan kode adalah sebagai berikut:
add = function (a, b) {
mengembalikan A + B;
};
function math (func, array) {
return func (array [0], array [1]);
}
console.log (matematika (add, [1,2]));
> Matematika (tambahkan, [1,2])
<3
Tambah yang dilewatkan dalam contoh di atas adalah parameter, dan pengembalian hanya fungsi. Misalnya, ada fungsi di jQuery
Salinan kode adalah sebagai berikut:
// Konversi putus -putus ke Camelcase; digunakan oleh modul CSS dan data
// Microsoft Lupa Pukikan awalan vendor mereka (#9572)
CamelCase: function (string) {
return string.replace (rmsprefix, "ms-") .replace (rdashalpha, fcamelcase);
},
Ini juga terjadi dengan penggunaan fungsi tingkat tinggi untuk menguasai JS. .