function showFullName() { alert( this.firstName + " " + this.lastName ); } var user = { firstName: "Василий", lastName: "Петров" }; showFullName.call(user) // "Василий Петров" When calling this function without a call , it will output undefined undefined . But why? If I passed the user argument to it, and its this becomes the user . Why without call it does not display firstName and lastname ?