Просмотр полной версии : Функция с неограниченным числом параметров
Как описать функцию, принимающую любое число параметров?
Например: Array.splice()
function myFunction(){
trace(arguments[0]);
}
myFunction("hallo, my dear world!");
это?
ну да... что-то типа того... но все как-то не явно
Dimchansky
04.10.2006, 11:10
что там неявного-то?
function x(){
for (i in arguments){
trace(arguments[i]);
}
}
x(1, 2, 5, 'fff');
В том, что в описании функции человек должен видеть, какие у нее параметры, чего здесь - нету.
Нужно хотя бы для того, чтобы обращаться к параметрам по именам... а не "эй ты, 5-я переменная".
В том, что в описании функции человек должен видеть, какие у нее параметры, чего здесь - нету.
Нужно хотя бы для того, чтобы обращаться к параметрам по именам... а не "эй ты, 5-я переменная".
Вообще-то логичнее передавать функции, в качестве аргумента - массив. В принципе arguments и есть тот самый массив. Но лучше всё таки свой массив создать
2 cassius:
ну так выражайтесь понятнее... если вам нужно сразу определить принимаемые параметры, то это делается по следующему принципу:
function myFunction(MyBelovedName:String, TheNumberIHate:Number){
trace(typeof(MyBelovedName)+" "+MyBelovedName+", "+typeof(TheNumberIHate)+" "+TheNumberIHate);
}
// вызов:
myFunction("Monika", 13);
*Вот только это не совсем удобно в случаях когда разным объектам с похожим методом (который логичнее написать один на всех) нужно передавать разное количество параметров, в этом случае прийдется пользоваться массивом arguments, т.как компилятор откажется работать =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.