gpt4 book ai didi

javascript - JavaScript 中的 NaN 输出

转载 作者:行者123 更新时间:2023-12-03 02:53:18 25 4
gpt4 key购买 nike

我在 JS 中遇到了一个问题,它真的在我的灵魂中燃烧!!我想创建一个程序,提示用户输入他的名字,然后输入他的小时工资,然后输入他工作了多少小时?喜欢:请输入您的姓名: 萨利赫输入您的时薪:20输入工作时间:8

我需要这个程序来打印一条消息:你好萨利赫您的时薪是:20 $您已经工作了:8小时您的付款是:160 $

我制作的程序正在运行,但最后一行没有给出任何计算!它打印 NaN !!

请帮助我

代码如下:

function Worker(aName, anHourlyWage, numberOfHours) // initializing the worker function that asked in the question.
{
this.name = aName;
this.anHourlyWage = anHourlyWage;
this.numberOfHours = numberOfHours;

this.setHourlyWage = setHourlyWage;
this.getName = getName;
this.getHourlyWage = getHourlyWage;
this.getHours = getHours;
this.calculatePayment = calculatePayment;
this.printDetails = printDetails;


}

function setHourlyWage(setHourlyWage) {
this.anHourlyWage = anHourlyWage2;
}

function getName() {
return this.name;
}

function getHourlyWage() {
return this.anHourlyWage;
}

function getHours() {
return this.numberOfHours;
}

function calculatePayment() {
return this.getHourlyWage * this.getHours; //to return the multiplication of working hours function and hourly wage function
}

function printDetails() {
window.alert("Hello: " + this.getName() +
"\n Your Wage Is: " + this.getHourlyWage() +
" $" + "\n You Have Worked For: " + this.getHours() + " Hours" +
"\n Your Payment Is: " + this.calculatePayment() + " $");
}


var name1 = window.prompt("Enter your name:", "");
var anHourlyWage1 = parseFloat(window.prompt("Enter the Hourly Wage:"));
var numberOfHours1 = parseFloat(window.prompt("Enetr the working hours:"));

var Worker1 = new Worker(name1, anHourlyWage1, numberOfHours1);
Worker1.printDetails();

最佳答案

问题在于,在您的 calculatePayment() 函数中,您没有调用 getHourlyWage()getHours() 函数并将它们相乘返回值,您正在乘以对函数本身的引用。

更改此行:

return this.getHourlyWage * this.getHours;

对此:

return this.getHourlyWage() * this.getHours();

(请注意添加的括号。)

关于javascript - JavaScript 中的 NaN 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47745484/

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