【问题标题】:Object binding javascript对象绑定javascript
【发布时间】:2021-05-16 05:13:21
【问题描述】:

我有一个我无法理解的问题。本人用js书学习javascript,有代码示例。

let a = {};
let b = a;
b = a["folder"] = {}; // how to understand this?
// after that b = {}, a = {folder: {} }

请解释一下:(

【问题讨论】:

标签: javascript arrays object binding declare


【解决方案1】:

您的示例中的最后一行是从右到左计算的,首先将a['folder] 的值分配为一个新的空对象,然后将b 的值分配为等于a['folder'] 作为参考到同一个对象。

这会覆盖您对 b = a; 的初始分配

let a = {};
let b = a;
console.log(a === b); // true

b = a["folder"] = {};

console.log(a === b) // false, because b is now a reference to the object assigned to a.folder
console.log(a.folder === b) // true

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 2012-10-17
    • 2016-04-23
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多