"this"
: 5
makeUser .
ref? ?
function makeUser() {
return {
name: "John",
ref: this
};
}
let user = makeUser();
alert( user.ref.name ); // ?
: .
:
function makeUser() {
return {
name: "John",
ref: this
};
}
let user = makeUser();
alert( user.ref.name ); // Error: Cannot read property 'name' of undefined
, , this, . .
this makeUser() undefined, , .
this , .
, ref: this this makeUser().
this undefined:
function makeUser(){
return this; //
}
alert( makeUser().name ); // Error: Cannot read property 'name' of undefined
, alert( makeUser().name ) alert( user.ref.name ) .
:
function makeUser() {
return {
name: "John",
ref() {
return this;
}
};
}
let user = makeUser();
alert( user.ref().name ); // John
, user.ref() . this ..