Page 125 - 6105
P. 125
Всі параметри знаходяться в arguments, навіть якщо вони є в списку. Код
вище спрацював би також, якби функція була оголошена як sayHi (a, b, c).
У старому стандарті JavaScript псевдо-масив arguments і змінні-параметри
посилаються на одні і ті ж значення. В результаті arguments впливають на
параметри і навпаки. Наприклад:
function f (x) {
arguments [0] = 5; // змінює змінну x
alert (x); // 5
}
f (1);
Навпаки:
function f (x) {
x = 5;
alert (arguments [0]); // 5, оновлений x
}
f (1);
У сучасній редакції стандарту аргументи відділені від локальних змінних:
function f (x) {
"Use strict"; // для браузерів з підтримкою суворого
режиму
arguments [0] = 5;
alert (x); // не 5, а 1! Змінна "відв'язана" від
arguments
}
f (1);
Не можна застосувати методи Array до arguments:
function sayHi () {
124