gpt4 book ai didi

Javascript 变量跟踪它们的副本?

转载 作者:行者123 更新时间:2023-11-30 17:55:43 27 4
gpt4 key购买 nike

<分区>

我偶然发现了一件奇怪的事情。

我有一个模型类,您可以在其中通过 model.get(attributeName) 函数获取属性值。

所以我在 View 中这样做了:

var mapModel = new Ex.Models.MapModel(model);
var view = new Ex.Views.MapView(mapModel);

var d = this.model.get('layerIds');
d.mapLayer = view.getId();

console.log("layerIds", this.model.get('layerIds'));

属性 layerIds.mapLayer 默认设置为 null。如果我将它设置为 View ID(例如 43),我希望 console.log 仍会返回 {mapLayer: null}因为我创建了变量 d 来复制 this.model.get('layerIds') 的值并使用独立于模型值的值。

但是如果我执行这段代码,日志会显示:

{mapLayer: 43}

这是为什么?为什么 Javascript 变量会跟踪它们复制的值并在其他值发生变化时更新它们自己的值?

如何阻止这一切?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com