为什么以下代码记录空数组,而不是加载的数组:
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/