function showFullName() {
alert( this.firstName + " " + this.lastName );
}
var user = {
firstName: "Василий",
lastName: "Петров"
};
showFullName.call(user) // "Василий Петров"
Когда вызвать эту функцию без call, то она выведет undefined undefined. Но почему? Если я передал ей аргумент user, и ее this становится user. Почему без call она не выводит firstName и lastname ?
Когда вы передаете аргумент user, её this не становится user. У не появляется первый аргумент, равный user. А this зависит от контекста вызова (судя по всему в вашем случае это будет window). А вот используя call и bind, вы можете изменить её this
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники