javascript - 调用尚不存在和已经消失的属性

标签 javascript function

以下代码:

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/

相关文章:

javascript - Spotify API 的 POST 请求问题

javascript - 没有模板的 AngularJS $location

javascript - 如何使用 JSDOM (Node.js) 获取 img src

C 函数查找数组中的模式,打印出一个全为 0 的数组

bash - bash 脚本函数中的并发或锁定访问

javascript - Bootstrap 轮播 : how to know which slider it is when carousel is paused

javascript - CSS 唯一定义规则的方式只适用于特定宽度的元素?

javascript - 使用js对象调用其他函数的函数

c# - 术语 'function' 在 C# 中有效吗?

javascript - 如何保持 onmouseover 功能直到鼠标悬停在其他内容上