繁体   English   中英

为什么我会为此变量获取NaN?

[英]Why am I getting NaN for this variable?

有人知道为什么bigNumberB变量返回的不是数字吗? 我是Java的新手,并且迷惑了函数,在这里看不到我做错了什么,但我确定它很简单。 谢谢,我要24、24,NaN

function mathEquation(moja, mbili, tatu, tano) {  
var value = moja * mbili * tatu * tano;  
console.log(value);  
}

mathEquation(1, 2, 3, 4);

function inceptEquation(sita, tisa) {  
var bigNumber = mathEquation(1, 2, 3, 4);  
console.log(bigNumber);  
var bigNumberB = sita + tisa + bigNumber;  
console.log(bigNumberB);  
}

inceptEquation(11, 23);

您没有从mathEquation返回任何mathEquation

function mathEquation(moja, mbili, tatu, tano) {  
  var value = moja * mbili * tatu * tano;  
  console.log(value);  
  return value; // <- return the value here
}

在不返回值的情况下,您尝试添加11 + 23 + undefined

您没有在mathEquation返回值的总和。 默认情况下,没有显式返回值的函数将返回undefined 所以从本质inceptEquation您是在inceptEquation这样做的:

11 + 23 + undefined;

将undefined添加到任何数字将导致NaN

相反,只需返回总和即可。 如果未在函数中的其他任何地方使用该value则不需要该value

function mathEquation(moja, mbili, tatu, tano) {  
  return moja * mbili * tatu * tano;  
}

您要做的就是将console.log()更改为return() 这是简单的版本:

function multiplication(x, y, z, c) {
  var value = x * y * z * c;
  return(value);
}

console.log(multiplication(1, 2, 3, 4));

function addition(x, y) {
  multiplication(1, 2, 3, 4);
  return(x + y + multiplication(1, 2, 3, 4));
}

console.log(addition(11, 23));

希望这就是您所期望的!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM