JavaScript 对象关系

标签 javascript

我正在尝试更好地理解 Javascript 中的对象关系。我有以下对象:

var product = {id: 1, name: 'Test Product', sku: {id: 2, sku: 'ABC'}};

现在,我还设置了以下变量:

var appSku = product.sku;

如果product.sku更改为新对象,appSku会更新吗?意思是,如果代码中的其他地方我这样做:

product.sku = {id: 3, sku: 'EFG'};

如何确保 appSku 变量获取 product.sku 的新值?

最佳答案

If product.sku changes to a new object, will appSku update?

没有

How can I ensure that the appSku variable gets the new value of product.sku?

您必须将其编写为通过引用对象产品访问sku的函数,例如

var appSku = (function (o) {
    return function () {
        return o.sku;
    }
}(product));

并且始终使用appSku()

这对您的情况并没有多大帮助,尽管直接使用 product.sku 更干净

<小时/>

也就是说,如果 product.sku 未更改为新对象,而是前一个对象仅修改了其属性,则 appSkuproduct.sku 仍然是同一件事

关于JavaScript 对象关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185320/

相关文章:

javascript - SendKeys 仅将输入结束放在文本字段中

javascript - 遍历每个工具提示以添加不同的时间戳

javascript - jQuery Quicksearch 可以配置为仅返回精确匹配吗?

javascript - 如何在页面加载时单击按钮元素

javascript - CSS 在检索帖子时不设置样式,rails jquery

javascript - 从按钮调用函数不适用于使用 javascript 创建的 html

javascript - 在 JavaScript 中通过函数传递变量

javascript - 检查跨度中的复选框是否被选中

javascript - 如何将json类型的数据附加到新的FormData

javascript - 如何访问 Backbone Fetch 数据服务器端