以下代码:
var person = {
name: "john doe",
printName: function () {console.log(persona.name); }
};
person.printName();
var persona = person;
persona.printName();
[编辑:不]工作正常,并打印。 john doe
两次
如果我们记录person.name
,它将输出一次。
为什么第一次打印不起作用,为什么当(在第二种情况下)person
不再存在时它会输出两次?
最佳答案
第一个不起作用,这是它的示例:
var person = {
name: "john doe",
printName: function () {console.log(persona.name); }
};
person.printName();
关于第二种情况 - 变量 persona
只是对 person
变量的引用。您没有删除它(因此它仍然存在)。
在这里检查:
var person = {
name: "john doe",
printName: function () {console.log(persona.name); }
};
var persona = person;
person.printName();
persona.printName();
关于javascript - 调用尚不存在和已经消失的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40413373/