Dalam banyak bahasa tingkat tinggi yang berorientasi objek, ada kelebihan metode. Dan JavaScript tidak memiliki konsep kelebihan metode. Tetapi kita dapat menggunakan parameter argumen untuk menyamarkan kelebihan fungsi
Sebelum simulasi, mari kita lihat kode:
Salinan kode adalah sebagai berikut:
// Tidak ada fungsi yang menyatakan parameter formal di permukaan
function fun () {
Peringatan ("Kode Sampel");
}
fun ("xiao ming", 100, true); // Saya menulis tiga parameter aktual sendiri
Melalui hasilnya, kita melihat bahwa bahkan jika kita tidak mendefinisikan parameter formal ketika mendeklarasikan fungsi, kita dapat menulis parameter aktual saat memanggil metode. (Faktanya, parameter formal dibaca saat menulis kepada pemrogram untuk memanggil fungsi)
Bisakah kita mendapatkan parameter aktual dalam kode? Jawabannya adalah ya: silakan lihat kode:
Salinan kode adalah sebagai berikut:
// Tidak ada fungsi yang menyatakan parameter formal di permukaan
function fun () {
peringatan (argumen [0]); // Dapatkan nilai parameter aktual pertama.
peringatan (argumen [1]); // Dapatkan nilai parameter aktual kedua.
peringatan (argumen [2]); // Dapatkan nilai parameter aktual ketiga.
alert (argumen.length); // Dapatkan jumlah parameter aktual.
Peringatan ("Kode Sampel");
}
fun ("xiao ming", 100, true); // Saya menulis tiga parameter aktual sendiri
Melalui kode, kita dapat mengetahui bahwa argumen (properti internal) sendiri merupakan array, dan fungsinya adalah menyimpan parameter aktual dari metode ini.
Dengan poin pengetahuan di atas, akan ada ide untuk memuat ulang metode simulasi. Kita dapat membuat penilaian berdasarkan jumlah parameter aktual, sehingga dapat menjalankan kode logis yang berbeda. Kode sederhananya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
function fun () {
if (arguments.length == 0) {
peringatan ("Jalankan kode tanpa parameter aktual");
}
lain jika (argumen.length == 1)
{
alert ("Jalankan kode yang melewati parameter aktual");
}
lain jika (argumen.length == 2)
{
peringatan ("Jalankan kode yang melewati dua parameter aktual");
}
}
seru();
fun ("xiao ming");
fun ("xiao ming", "xiao hua");