Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk mendapatkan nilai lalai dalam javascript

Bagaimana untuk mendapatkan nilai lalai dalam javascript

WBOY
WBOYasal
2023-05-16 12:00:371375semak imbas

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:

  1. Hanya apabila nilai parameter tidak ditentukan, Gunakan nilai lalai. Oleh itu apabila menghantar nilai palsu seperti null, "" atau 0, nilai lalai tidak akan digunakan.
function getColor(color = "blue") {
    console.log(color);
}

getColor(null); // null
getColor(""); // ""
getColor(0); // 0
  1. Apabila menggunakan nilai lalai, parameter masih wujud, tetapi nilainya ialah nilai lalai. Jadi kita masih boleh menggunakan objek argumen untuk mengakses parameter ini. Contohnya:
function sayHello(name = "world") {
    console.log(`Hello, ${arguments[0]}!`);
}

sayHello("Tom"); // "Hello, Tom!"
  1. Apabila menggunakan nilai lalai, parameter hanya digunakan pada parameter lain. Jika parameter merujuk kepada fungsi itu sendiri atau pembolehubah global lain, nilai lalai tidak digunakan. Contohnya:
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!

Kenyataan:
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