gpt4 book ai didi

javascript - 为什么将属性放在 `this` 上时不保留引用?

转载 作者:行者123 更新时间:2023-11-28 11:22:33 24 4
gpt4 key购买 nike

为什么以下代码记录空数组,而不是加载的数组:

function Car() {
var parts = [];

this.parts = parts;
this.loadParts = loadParts;

function loadParts() {
parts = ['engine', 'wheels'];
}
}

var audi = new Car();
audi.loadParts();
console.log(audi.parts);

(尝试实现显示模式)

最佳答案

您正在操作封闭的局部变量 parts,而不是 this.parts

将您的代码更新为:

function loadParts() {
this.parts = ['engine', 'wheels'];
}

获得更可预测的结果。

关于javascript - 为什么将属性放在 `this` 上时不保留引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31113022/

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