2017-12-02 11 views
0

bigNumberB変数が返されている理由は誰でも知っていますか?私はJavaを使い慣れていないし、関数を使いこなしているし、私はここで間違っているのを見ることができないが、私は何か単純だと確信している。おかげで、私はあなたが値を戻さないとmathEquationなぜこの変数にNaNを取得していますか?

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

から何かを返されていない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); 
+1

'mathEquation'は値を出力しますが、値を返しません。 – Ryan

答えて

0

を取得しています、あなたはあなたがしている11 + 23 + undefined

0

を追加しようとしていますmathEquationに値の合計を戻しません。デフォルトでは、明示的な戻り値を持たない関数はundefinedを返します。だから、基本的にあなたがinceptEquationでこれをやっている:

11 + 23 + undefined; 

を任意の数値に未定義の追加NaNになります。

代わりに、合計をそのまま返してください。それは機能で他の場所で使用されていない場合valueのための必要はありません:

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

あなたがしなければならないのは、return()秒にconsole.log()秒を変更することです。ここにシンプルなバージョンがあります:

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)); 

うまくいけば、これはあなたが期待していたものです!

関連する問題