Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk mendapatkan nilai lalai dalam javascript
Bagaimana untuk mendapatkan nilai lalai dalam JavaScript
Apabila menulis kod JavaScript, kami biasanya menetapkan nilai parameter fungsi supaya ia boleh dihantar kepada mereka apabila fungsi dipanggil. Walau bagaimanapun, dalam beberapa kes kita mungkin mahu menjadikan parameter tertentu mempunyai nilai lalai apabila tidak ditetapkan secara eksplisit, yang boleh menjadikan kod lebih ringkas dan lebih mudah dibaca. Artikel ini menerangkan cara untuk menetapkan dan menggunakan nilai lalai dalam JavaScript.
Tetapkan nilai lalai
Pada masa lalu, untuk menetapkan nilai lalai parameter fungsi, biasanya kami perlu membuat pertimbangan batal atau tidak ditentukan dalam badan fungsi dan kemudian menetapkan lalai secara manual nilai. Seperti yang ditunjukkan di bawah:
function sayHello(name) { if(name === undefined) { name = "world"; } console.log("Hello, " + name + "!"); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!"
Jika kita mempunyai berbilang parameter yang perlu ditetapkan kepada nilai lalai, pendekatan ini boleh menjadi bertele-tele dan sukar untuk dikekalkan. Dalam ES6, kita boleh menggunakan cara yang lebih mudah untuk menetapkan nilai lalai.
Gunakan nilai lalai
Dalam ES6, kami boleh menentukan nilai lalai untuk parameter fungsi. Ini membolehkan kami menetapkan nilai lalai fungsi dengan lebih mudah, sambil mengurangkan jumlah kod dan meningkatkan kebolehbacaan. Seperti yang ditunjukkan di bawah:
function sayHello(name="world") { console.log("Hello, " + name + "!"); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!"
Dalam contoh ini, kami mentakrifkan fungsi sayHello dan memberikan nilai lalai "dunia" kepada nama parameternya. Apabila fungsi diluluskan tiada parameter, ia menggunakan nilai lalai dan mencetak "Hello, dunia!". Apabila kita menghantar parameter kepada fungsi, ia akan menggunakan nilai yang kita lulus, sebagai contoh, apabila kita lulus Tom, ia mencetak "Hello, Tom!".
Kami juga boleh menggunakan nilai lalai parameter lain untuk menetapkan nilai lalai. Contohnya:
function sayHello(name="world",greeting=`Hello`) { console.log(`${greeting}, ${name}!`); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!" sayHello("Jenny", "Hi"); // "Hi, Jenny!" sayHello(undefined, "Goodbye"); // "Goodbye, world!"
Dalam contoh ini, kami mentakrifkan fungsi sayHello sekali lagi dan menentukan nilai lalai untuk nama dan ucapan parameternya. Apabila kita tidak melepasi parameter ucapan, ia akan menggunakan nilai lalai "Hello". Apabila kami melepasi Tom dan Hai, "Hai, Tom!" Apabila kita lulus undefined dan "Selamat tinggal", nilai lalai akan digunakan dan "Selamat tinggal, dunia!"
Nota tentang nilai lalai
Apabila menggunakan nilai lalai, anda perlu memberi perhatian kepada isu berikut:
function getColor(color = "blue") { console.log(color); } getColor(null); // null getColor(""); // "" getColor(0); // 0
function sayHello(name = "world") { console.log(`Hello, ${arguments[0]}!`); } sayHello("Tom"); // "Hello, Tom!"
let language = "English"; function sayHello(name = "world", greeting = `Hello ${language}!`) { console.log(`${greeting}, ${name}!`); } sayHello(); // "Hello English, world!"
Kesimpulan
Sebelum ES6, menetapkan nilai lalai untuk parameter fungsi adalah menyusahkan dan memerlukan pertimbangan manual nol atau tidak ditentukan. Kemunculan ES6 menjadikan penetapan nilai lalai parameter fungsi lebih ringkas dan lebih mudah dibaca. Menetapkan nilai lalai boleh menjadikan kod lebih ringkas, meningkatkan kebolehselenggaraan, dan mengurangkan berlakunya ralat. Di samping itu, kita juga perlu ambil perhatian bahawa apabila menggunakan nilai lalai, parameter masih wujud, dan nilai lalai hanya digunakan pada parameter yang belum ditetapkan, dan tiada kaitan dengan fungsi lain atau pembolehubah global.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan nilai lalai dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!