PDA

Просмотр полной версии : default значения параметров функции


doomw
14.09.2007, 21:03
Доброго времени суток коллеги.
вопрос по function.
можно ли при создании функции указать дефолтное значение передаваемого параметра?
чтобы, если мы вызываем ф-ю без параметра(ов), внутри ф-ии они принимали дефолтные значение?

вопрос кажется глуповатым. но не нашел как это сделать и никогда не сталкивался. разве что проверял на undefined.
но точно помню что в Сях такое было...

Molecula
14.09.2007, 22:15
Я чем Вам undefined не по душе?
function Test(_mc){
trace(_mc);
}

Test();
Test('Hello');

что выводит в трейсе:
undefined
Hello

iNils
14.09.2007, 22:24
function test (str) {
trace (str || "Goodbye");
}
test ();
test ('Hello');

Kikasso
14.09.2007, 23:54
function test (arg) {
trace (arguments.length == 1 ? arg : '>>>GoodBye<<<');
}
test ('Hello');
test(false);
test( 0 );
test ('');
test(null);
test(undefined);
test ();

etc
15.09.2007, 00:51
Можно было просто ставить проверку arguments.length и все.

iNils
15.09.2007, 01:55
Kikasso, а есть аргументов больше чем один?:)

Kikasso
15.09.2007, 02:46
Kikasso, а есть аргументов больше чем один?:)
Что я-то сразу? Вот и __etc то же самое говорит.
Смотря чего хочет автор добиться.
Можно проверять длинну аргументов и пропускать последовательно с конца, можно на null проверять, а можно например на 25, можно объект аргументом давать. Может моя функция готова принять null как корректный аргумент.