Почему аргументы рассматриваются в определенном порядке?

Почему, при использовании метода apply, результат вызова функции greeting возвращает значения "Hello Marko Polo", в то время как при использовании метода apply с обратным порядком аргументов, возвращает значения "undefined undefined"?
  • 1 ноября 2023 г. 10:18
Ответы на вопрос 4
Аргументы рассматриваются в определенном порядке из-за того, что порядок аргументов влияет на работу функции или метода. Зависимости между аргументами могут быть такими, что изменение порядка аргументов может привести к неправильным результатам или ошибкам.

В случае метода apply, который применяет функцию к набору аргументов, порядок аргументов в методе apply должен соответствовать порядку аргументов в функции. Если порядок аргументов в методе apply изменяется, то функция будет вызываться с аргументами в неверном порядке, и это может привести к непредсказуемому поведению или ошибкам.

В данном случае, функция greeting принимает два аргумента: name и surname. При использовании метода apply с аргументами "Marko" и "Polo", функция успешно применяется и возвращает "Hello Marko Polo". Однако, при использовании метода apply с аргументами "Polo" и "Marko", порядок аргументов не соответствует ожидаемому и функция возвращает "undefined undefined", так как аргументы подаются в неверном порядке и функция не может получить необходимые значения.
https://developer.mozilla.org/en-US/docs/Web/JavaS...
Ссылка на документацию о методе "apply" в JavaScript.

потому чтоapply(this_объекта, array_аргументы)наоборот ты передал вместо объекта массив ['Hello'] это не твой объект с name, а с объектом уже не работает ${...} и тоже вернет undefined
Вы использовали метод "apply" неправильно. Вместо объекта, который должен быть передан как контекст, вы передали массив ['Hello']. Код `${...}` также не будет работать с этим объектом, и он вернет undefined вместо ожидаемого значения.

Function.prototype.apply() принимает первым аргументом контекст (this), с которым будет работать. В вашем случае это должен быть объект person. Вторым аргументом он принимает массив аргументов, которые должны быть переданы при вызове функции, используемой с помощью "apply". Более подробную информацию вы можете найти на страницеMDNиlearn.javascript.ru.
Похожие вопросы