Penggunaan Separa
Tetapkan beberapa argumen dan gunakan semula fungsi.
Penggunaan Separa ialah pelajaran Akademi JavaScript percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi JavaScript, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Apakah Penggunaan Separa
Penggunaan separa bermaksud mengambil fungsi yang memerlukan beberapa argumen dan menetapkan sebahagiannya terlebih dahulu, lalu menghasilkan fungsi baharu yang hanya memerlukan argumen yang selebihnya.
Ini membolehkan anda membina fungsi khusus daripada fungsi umum. multiply(a, b) yang umum boleh menjadi double(b) yang khusus dengan menetapkan a = 2.
Fungsi Dengan Banyak Argumen
Mulakan dengan fungsi serba guna. Di sini, add menerima tiga nombor. Selalunya anda memanggilnya berulang kali dengan argumen pertama yang sama.
function add(a, b, c) {
return a + b + c;
}
console.log(add(1, 2, 3));
console.log(add(1, 10, 100));Menetapkan Argumen Secara Manual
Penggunaan separa yang paling mudah hanyalah fungsi pembungkus yang menetapkan satu argumen secara terus dan meneruskan selebihnya.
function add(a, b, c) {
return a + b + c;
}
function addTen(b, c) {
return add(10, b, c);
}
console.log(addTen(2, 3));
console.log(addTen(20, 30));Penggunaan Separa Dengan bind
Function.prototype.bind direka untuk tujuan ini. Argumen pertamanya menetapkan this; setiap argumen selepas itu diisi terlebih dahulu dari sebelah kiri.
Hantar null untuk this apabila anda tidak memerlukannya.
function add(a, b, c) {
return a + b + c;
}
const addTen = add.bind(null, 10);
console.log(addTen(2, 3));
console.log(addTen(20, 30));Mengikat Lebih Daripada Satu Argumen
Anda boleh menetapkan beberapa argumen awal serentak. Fungsi yang dipulangkan menerima apa-apa yang masih berbaki.
function add(a, b, c) {
return a + b + c;
}
const addElevenAndTwo = add.bind(null, 11, 2);
console.log(addElevenAndTwo(7));
console.log(addElevenAndTwo(100));Pembantu Penggunaan Separa Yang Boleh Digunakan Semula
Anda boleh menulis partial sendiri yang menangkap argumen pratetap dengan parameter selebihnya dan menggabungkannya dengan argumen kemudian menggunakan sebaran.
function partial(fn, ...preset) {
return function (...later) {
return fn(...preset, ...later);
};
}
function greet(greeting, name) {
return greeting + ', ' + name + '!';
}
const sayHello = partial(greet, 'Hello');
console.log(sayHello('Ada'));
console.log(sayHello('Linus'));Mengkhususkan Fungsi Umum
Penggunaan separa amat berguna apabila satu fungsi umum menghasilkan banyak fungsi khusus yang kecil dan mudah dibaca.
function multiply(a, b) {
return a * b;
}
const double = multiply.bind(null, 2);
const triple = multiply.bind(null, 3);
console.log(double(5));
console.log(triple(5));Penggunaan Separa Dengan Tatasusunan
Fungsi khusus kelihatan kemas apabila digunakan dalam kaedah tatasusunan seperti map.
function power(exponent, base) {
return Math.pow(base, exponent);
}
const square = power.bind(null, 2);
console.log([1, 2, 3, 4].map(square));Mengisi Konfigurasi Terlebih Dahulu
Satu kegunaan biasa dalam dunia sebenar ialah menetapkan nilai konfigurasi, seperti kadar cukai atau simbol mata wang, kemudian menggunakan semula hasilnya di mana-mana.
function format(symbol, amount) {
return symbol + amount.toFixed(2);
}
const usd = format.bind(null, '$');
const eur = format.bind(null, '\u20AC');
console.log(usd(9.5));
console.log(eur(9.5));Penggunaan Separa Berbanding Parameter Lalai
Parameter lalai memberikan nilai sandaran apabila argumen tiada. Penggunaan separa menetapkan nilai supaya pemanggil tidak lagi boleh mengubahnya untuk tempat tersebut.
Kedua-duanya menyelesaikan masalah yang berbeza: nilai lalai adalah pilihan, manakala penggunaan separa adalah tetap.
function log(level, message) {
return '[' + level + '] ' + message;
}
const error = log.bind(null, 'ERROR');
console.log(error('Disk full'));
console.log(error('Timeout'));Sebab Penggunaan Separa Penting
Penggunaan separa mengurangkan pengulangan, menjelaskan tujuan dengan nyata dan menjadi asas kepada pengkurian. Apabila anda terus menghantar argumen pertama yang sama, pertimbangkan untuk menetapkannya sekali sahaja.
function between(min, max, value) {
return value >= min && value <= max;
}
const isPercentage = between.bind(null, 0, 100);
console.log(isPercentage(50));
console.log(isPercentage(150));Semakan Pantas
Apakah yang dipulangkan oleh fn.bind(null, 5)?
Imbas Kembali: Penggunaan Separa
Anda telah mempelajari cara menetapkan argumen terlebih dahulu:
- Pembungkus manual menetapkan argumen secara terus dan meneruskan selebihnya.
- bind(null, ...args) mengisi argumen terlebih dahulu dari sebelah kiri.
- Pembantu
partialtersuai menggunakan parameter selebihnya dan sebaran. - Penggunaan separa menghasilkan pengkhususan yang jelas dan boleh digunakan semula serta menyediakan asas untuk pengkurian.
Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 59
- Pelajaran
- 200
Soalan Lazim
Adakah pelajaran “Penggunaan Separa” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Akademi JavaScript, termasuk “Penggunaan Separa”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Akademi JavaScript merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penggunaan Separa”?
Tetapkan beberapa argumen dan gunakan semula fungsi. Anda berlatih Akademi JavaScript menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi JavaScript?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi JavaScript di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Penggunaan Separa” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi JavaScript ini?
Ya. Setiap pelajaran Akademi JavaScript menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Penggunaan Separa
- Fungsi Currying
- Gubahan Fungsi
- Membina pipe dan compose