【发布时间】:2017-11-26 15:10:08
【问题描述】:
请帮忙!我刚开始学习对象 ecc .. 我不想继续,因为我想真正了解 javascript 上的对象。所以我试着写了一个对象的代码,包括按小时支付、按周工作、费用、加班和 3 个功能。
var monthlyPay = {
//hours per week
hourWeek: 40,
//pay per hours
hourlyPay: 10,
//all the monthly expenses
mothlyExpenses: 120,
//additional hours of work
overtime: 7,
//function that calculates the bonus based on the overtime and hourlyPay plus 4
calculateBonus: function(){
this.Bonus = this.overtime * (this.hourlyPay + 4);
},
//function that calculates the total monthly pay
calculatePay: function(){
this.Pay = this.hourWeek * this.hourlyPay + this.Bonus;
},
//function that calcutes the remaining money
calculateMoney: function(){
this.Money = this.monthlyExpenses - this.Pay;
},
};
monthlyPay.calculateMoney();
monthlyPay.calculateBonus();
monthlyPay.calculatePay();
console.log(monthlyPay);
它运行没有错误,但是当我查看浏览器控制台时,Money 属性的值为 NaN。提前感谢您的回答!
【问题讨论】:
-
好吧,
Money取决于Pay的值,所以你必须先计算它。 -
this.Pay;没有在任何地方定义。所以应该是NaN。 -
这篇文章可能会有所帮助:stackoverflow.com/a/47441358/1636522.
-
你有一个拼写错误,你写的是 mothlyExpenses 而不是monthlyExpenses
-
谢谢大家!!!我真的忘记了调用函数时重要的命令。
标签: javascript javascript-objects nan