JavaScript arguments object application example_javascript kemahiran

WBOY
Lepaskan: 2016-05-16 16:36:29
asal
984 orang telah melayarinya

objek hujah

Dalam kod fungsi, menggunakan argumen objek khas, pembangun boleh mengakses nama parameter tanpa menamakannya secara eksplisit.

Sebagai contoh, dalam fungsi sayHi(), parameter pertama ialah mesej. Nilai ini juga boleh diakses dengan argumen[0], iaitu nilai argumen pertama (argumen pertama berada pada kedudukan 0, argumen kedua berada pada kedudukan 1 dan seterusnya).

Oleh itu, fungsi boleh ditulis semula tanpa menamakan parameter secara eksplisit:

function sayHi() {
if (arguments[0] == "bye") {
return;
}

alert(arguments[0]);
}
Salin selepas log masuk

Bilangan parameter pengesanan

Anda juga boleh menggunakan objek argumen untuk mengesan bilangan parameter fungsi, hanya rujuk argumen properti.length.

Kod berikut akan mengeluarkan bilangan parameter yang digunakan dalam setiap panggilan fungsi:

function howManyArgs() {
alert(arguments.length);
}

howManyArgs("string", 45);
howManyArgs();
howManyArgs(12);
Salin selepas log masuk

Kod di atas akan memaparkan "2", "0" dan "1" dalam urutan.

Nota: Tidak seperti bahasa pengaturcaraan lain, ECMAScript tidak mengesahkan sama ada bilangan parameter yang dihantar ke fungsi adalah sama dengan bilangan parameter yang ditentukan oleh fungsi tersebut. Fungsi yang ditentukan oleh pembangun boleh menerima sebarang bilangan argumen (sehingga 255, mengikut dokumentasi Netscape) tanpa menimbulkan sebarang ralat. Sebarang hujah yang hilang akan dihantar ke fungsi sebagai tidak ditentukan, dan fungsi tambahan akan diabaikan.
Simulasikan lebihan beban

Gunakan objek argumen untuk menentukan bilangan parameter yang dihantar ke fungsi untuk mensimulasikan lebihan fungsi:

function doAdd() {
if(arguments.length == 1) {
alert(arguments[0] + 5);
} else if(arguments.length == 2) {
alert(arguments[0] + arguments[1]);
}
}
Salin selepas log masuk

doAdd(10); //Output "15"
doAdd(40, 20); //Output "60"

Apabila hanya terdapat satu parameter, fungsi doAdd() menambah 5 pada parameter. Jika terdapat dua parameter, dua parameter itu ditambah dan jumlahnya dikembalikan. Jadi, doAdd(10) mengeluarkan "15", manakala doAdd(40, 20) mengeluarkan "60".

Walaupun tidak sehebat beban berlebihan, ia sudah cukup untuk mengatasi had ECMAScript ini.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan