我试图做一个简单的,不现实的练习,该方法计算账单中的税款,并将其存储在与包含总值的另一个数组一起的数组中。
我真的不知道为什么这种方法行不通。值得注意的是,我可以使函数在对象之外工作(并解决我的问题),但是无论我在这种情况下还是在其他情况下使用方法,它们都不会在对象内部工作。通常,我希望有一个数组“ tax”和一个数组“ finalValues”。没有任何错误给我,但也不会运行。
所以我在这里张贴了它,以找出原因,因为它真的让我发疯:D
ps:我正在使用mdn,w3school获取资源,但也可以使用udemy。我正在使用Visual Code Studio编写任何内容(但也尝试使用此括号)。我使用mozilla和chrome对其进行了测试,还使用了代码笔。
var stavros = {
fullName: 'Stavros Vas',
bills: [124, 48, 268, 180, 42],
calcTips: function() {
this.tax = [];
this.finalValues = [];
for (var i = 0; i < this.bills.length; i++) {
var percentage;
var bill = this.bills[i];
if (bill < 50) {
percentage = 0.1;
} else if (bill >= 50 && bill < 200) {
percentage = 0.15;
} else {
percentage = 0.2;
}
this.tax[i] = bill * percentage;
this.finalValues[i] = bill + bill * percentage;
}
}
};
console.log(stavros);
谢谢!
答案 0 :(得分:0)
您的代码正在运行,只需执行stavros.calcTips()
var stavros = {
fullName: 'Stavros Vas',
bills: [124, 48, 268, 180, 42],
calcTips: function() {
this.tax = [];
this.finalValues = [];
for (var i = 0; i < this.bills.length; i++) {
var bill = this.bills[i];
if (bill < 50) {
percentage = 0.1;
} else if (bill >= 50 && bill < 200) {
percentage = 0.15;
} else {
percentage = 0.2;
}
this.tax[i] = bill * percentage;
this.finalValues[i] = bill + bill * percentage;
}
}
};
stavros.calcTips(); // added
console.log(stavros);