打印出警报中对象的值 window
Printing out a value from an object in an alert window
我正在尝试在警报中打印出人员对象的名称值 window。
var person ={};
person = {
name: 'Tray',
distance_travelled: 0,
say_name: alert(this.name),
}
person.say_name;
我得到的结果是一个空的警告框。当我在名称中进行硬编码时,警告框会正确打印。我试过 say_name: alert(person.name),但是 returns 未定义。我做错了什么?
您需要为 say_name
分配一个函数。现在您正在立即调用该函数并为其分配 undefined
return 值。这使得 this
指的是您所期望的以外的东西。
var person = {
name: 'Tray',
distance_travelled: 0,
say_name: function() {
alert(this.name);
},
}
person.say_name();
现在 this
arg 将引用 person
对象,因为当您执行 some_object.someMethod()
时,someMethod()
中的 this
的值会自动设置到调用它的some_object
。
我正在尝试在警报中打印出人员对象的名称值 window。
var person ={};
person = {
name: 'Tray',
distance_travelled: 0,
say_name: alert(this.name),
}
person.say_name;
我得到的结果是一个空的警告框。当我在名称中进行硬编码时,警告框会正确打印。我试过 say_name: alert(person.name),但是 returns 未定义。我做错了什么?
您需要为 say_name
分配一个函数。现在您正在立即调用该函数并为其分配 undefined
return 值。这使得 this
指的是您所期望的以外的东西。
var person = {
name: 'Tray',
distance_travelled: 0,
say_name: function() {
alert(this.name);
},
}
person.say_name();
现在 this
arg 将引用 person
对象,因为当您执行 some_object.someMethod()
时,someMethod()
中的 this
的值会自动设置到调用它的some_object
。