Page 61 - 6105
P. 61
showMessage ( "Маша");
При цьому можна виконати перевірку, і якщо параметр не переданий –
привласнити йому значення «за замовчуванням»:
function showMessage (from, text) {
if (text === undefined) {
text = 'текст не переданий';
}
alert (from + ":" + text);
}
showMessage ( "Маша", "Привіт!"); // Маша: Привіт!
showMessage ( "Маша"); // Маша: текст не переданий
При оголошенні функції необов'язкові аргументи, як правило, записують в
кінці списку. Для вказівки значення «за замовчуванням», тобто, такого, яке
використовується, якщо аргумент не вказано, використовується два способи:
Можна перевірити, чи аргумент рівний undefined, і якщо так – то записати в
нього значення за замовчуванням. Цей спосіб продемонстровано в прикладі вище.
Використання оператора ||:
function showMessage (from, text) {
text = text || 'Текст не переданий';
...
}
Другий спосіб вважає, що аргумент відсутній, якщо передано порожній
рядок, 0, або взагалі будь-яке значення, яке в логічному контексті є false.
Якщо аргументів передано більше, ніж треба, наприклад showMessage (
"Маша", "привіт", 1, 2, 3), то помилки не буде. Але, щоб отримати такі «зайві»
аргументи, потрібно буде прочитати їх зі спеціального об'єкта arguments.
60