Sunday, July 22, 2012

arguments

Properti Function.arguments adalah array yang berhubungan dengan banyaknya parameter yang perlu di lewati oleh fungsi.

Sintaks:

arguments arguments.length arguments[n]

Function.arguments adalah properti standard JavaScript 1.1+, JScript 1.0+, ECMAScript 1.0+ dan di dukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, Internet Explorer 3+, Netscape Navigator 3.0+, Opera 3.0+, Safari 1.0+.

Pada saat fungsi diberikan nilai di dalam parameternya, dan pada saat fungsi dipanggil, maka nilai-nilai tersebut secara tidak langsung ditugaskan untuk properti Function.arguments ini.

arguments
Dengan arguments, dimungkinkan memanggil fungsi dengan lebih banyak parameter, dan ini jika sebelumnya anda tidak mengetahui berapa banyak parameter yang dilewati fungsi.

arguments.length
Anda bisa gunakan arguments.length untuk mengetahui banyaknya parameter yang secara aktual akan dilewati oleh fungsi.

Sebagai contoh, anggap saja fungsi di bawah ini digunakan untuk menggabungkan beberapa string. Satu-satunya parameter yang secara formal dideklarasikan untuk fungsi itu adalah separator, yaitu yang digunakan untuk menetapkan karakter pemisah untuk item-item yang digabungkan nantinya. Fungsi itu digambarkan sebagai berikut:

var conStr = new Function("separator", "var output = ''; for (var i = 1; i < arguments.length; i++) {output += arguments[i] + separator; } document.write(output);");

Akan sama jika anda menuliskannya seperti di bawah ini:

function conStr(separator) { var output = ""; for (var i = 1; i < arguments.length; i++) { output += arguments[i] + separator; } document.write(output); }

Nantinya dimungkinkan memberikan lebih banyak parameter untuk fungsi tersebut, misalnya:

conStr("- ", "apple", "mango", "banana"); // "apple- mango- banana-"

arguments[n]
Bentuk ini digunakan untuk menunjuk parameter tertentu di dalam fungsi. Di mana n adalah angka yang mewakili indeks dari parameter, indeks awal adalah 0. Parameter pertama di dalam urutan yang perlu dilewati oleh fungsi adalah arguments[0], parameter kedua adalah arguments[1], parameter ketiga adalah arguments[2], dst.

Contoh di bawah ini menjalankan nilai dari setiap argumen berdasarkan indeksnya pada waktu fungsi itu dipanggil:

var foo = new Function("alert(arguments[2]); alert(arguments[1]); alert(arguments[0]);"); foo("Sahabatku?", "Kabar", "Apa");

Akan sama jika anda menuliskannya seperti di bawah ini:

function foo() { alert(arguments[2]); alert(arguments[1]); alert(arguments[0]); } foo("Sahabatku?", "Kabar", "Apa");