为什么我为这个变量获得NaN?

时间:2017-12-02 00:44:23

标签: javascript

任何人都知道为什么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);

3 个答案:

答案 0 :(得分:0)

您没有从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

答案 1 :(得分:0)

您没有在mathEquation中返回值的总和。默认情况下,没有显式返回值的函数将返回undefined。所以基本上你是在inceptEquation

中这样做的
11 + 23 + undefined;

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

而只是返回总和。 value如果没有在函数的其他任何地方使用它,则不需要它:

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

答案 2 :(得分:0)

您所要做的就是将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));

希望这是你所期待的!