javascript - JavaScript 中的 NaN 输出

标签 javascript nan

我在 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/

相关文章:

javascript - 获取请求和状态更改后如何重新渲染组件?

python - Pandas groupby : fill missing values from other group members

c++ - NAN比分Arduino Uno

python - 由pivot_table引入的Pandas NaN

javascript - jQuery 问题

javascript - 亚马逊 lambda : "Handler ' handle' missing on module 'exports' "

javascript - 使用 React Native 将多个数据添加到 Firebase 中特定 id 的对象

javascript - 使用 Ajax 实时更改 2 个 PHP 变量的值(从外部文件接收)

python - 如何过滤包含 NaN 的 bool 掩码

matlab - 满足特定条件时用 NaN 或 Inf 替换值