调用一个不存在和已经消失的属性

calling a not-yet-existing and an already-gone property

本文关键字:消失 属性 不存在 一个 调用      更新时间:2023-09-26

以下代码:

var person = {
name: "john doe",
printName: function () {console.log(persona.name); }
};
person.printName();
var persona = person;
persona.printName();

[EDIT: doesn't] work很好,打印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();