簡體   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