Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的NaN输出_Javascript_Nan - Fatal编程技术网

JavaScript中的NaN输出

JavaScript中的NaN输出,javascript,nan,Javascript,Nan,我在JS中遇到了一个问题,这在我的灵魂中真的很严重!! 我想创建一个程序,提示用户输入他的名字,然后输入他的小时工资,然后输入他工作了多少小时? 比如: 请输入您的姓名:萨利赫 输入您的小时工资:20 输入工作时间:8 我需要这个程序来打印一条信息,上面写着: 你好,萨利赫 你的小时工资是:20$ 你已经工作了:8小时 您的付款是:160$ 我做的程序正在运行,但最后一行没有给出任何计算!它打印的是NaN 请帮帮我 代码如下: 函数工作者(aName、anHourlyWage、numberOf

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

我需要这个程序来打印一条信息,上面写着: 你好,萨利赫 你的小时工资是:20$ 你已经工作了:8小时 您的付款是:160$

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

请帮帮我

代码如下:

函数工作者(aName、anHourlyWage、numberOfHours)//初始化问题中询问的工作者函数。
{
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;
}
函数setHourlyWage(setHourlyWage){
这个。一小时工资=一小时工资2;
}
函数getName(){
返回此.name;
}
函数getHourlyWage(){
退还这个。一小时工资;
}
函数getHours(){
返回此。numberOfHours;
}
函数calculatePayment(){
返回this.getHourlyWage*this.getHours;//返回工时函数与小时工资函数的乘积
}
函数printDetails(){
window.alert(“Hello:+this.getName()+
“\n您的工资是:”+this.getHourlyWage()+
$“+”\n您的工作时间:“+this.getHours()+”小时”+
“\n您的付款是:“+this.calculatePayment()+”$”;
}
var name1=window.prompt(“输入您的名字:”,“”);
var anHourlyWage1=parseFloat(window.prompt(“输入小时工资:”);
var numberOfHours1=parseFloat(window.prompt(“输入工作时间:”));
var Worker1=新工人(姓名1,小时工资1,小时数1);

Worker1.printDetails()问题在于,在
calculatePayment()
函数中,您没有调用
getHourlyWage()
getHours()
函数并乘以它们的返回值,而是在乘以对函数本身的引用

更改此行:

return this.getHourlyWage * this.getHours;
为此:

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

(注意添加的括号。)

您认为
这个
setHourlyWage
getName
等中是什么?@JaromandaX-它是正确的对象,不是吗,正如最初的
Worker1.printDetails()
调用所设置的那样?是的,就是这样。以前从未见过这样做。Ugly@JaromandaX-这就像没有原型的原型继承。或者继承…;-)我认为这属于打字错误的范畴,所以投票也结束了。