Herhangi bir sayı ve tür argümanı kabul eden bir işlev var, bu nedenle belirli bir parametre tanımlanmadı. Bu işlev tüm argümanları ileten başka bir işlevi çağırmalıdır. Sorun, tüm argümanları içermek için "argümanları" geçebileceğim, fakat bu durumda, argümanların çalışmasını beklememizin yolunu değil, tek bir argüman gibi çalışacak olmasıdır.Tüm bağımsız değişkenler koleksiyon olarak tek bir argüman olarak değil, başka bir işleve nasıl aktarılır?
Bir örnek:
ana işlevi:
function handleCall() {
// let's call a sub-function
// and pass all arguments (my question is how this is handled the right way)
function callSubFunction(arguments);
}
function callSubfunction(userid, customerid, param) {
// passed arguments are now
alert('userid = ' + userid);
// this will not work, you have to use arguments[2]
alert(param);
}
The example call:
handleCall(1029, 232, 'param01');
yukarıdaki yaklaşım kullanılarak, tüm bağımsız değişkenler sözde dizi olarak "kullanıcı adını" olarak kaydedilir ve ürün, örneğin erişilebilir argümanlar [2] fakat parametre adı "param" kullanılmıyor.
ColdFusion'da, bu tür şeyler için çözüm "argumentCollection" parametresidir, böylece bir yapı içinde saklanan parametreleri, tüm anahtar/değerleri içeren tür yapısıyla tek bir bağımsız değişkene dönüştürülmeden geçirebilirsiniz.
JavaScript ile aynı şeyi nasıl yapabilirim?