2017-10-15 18 views
-1

ノードJSで単純なクラスをインポートしようとしていますが、関数実行後にが未定義になっています。なぜが定義されていないのですかノードJS関数は実行後に未定義です

index.js

const ctrl = require('./math'); 

console.log(ctrl.addFunction()); 
console.log(ctrl.sunFunction()); 

math.js

module.exports = { 
    addFunction: function() { 
    console.log('printing addFunction'); 
    }, 
    sunFunction: function() { 
    console.log('printing sunFunction'); 
    } 
}; 

出力: ノード

index.js印刷addFunction
未定義

+0

'undefined'は、両方の関数の戻り値であり、あなたの' index.js'で印刷。 – Sirko

+0

2つの 'console.log'はなぜですか?私の関数が値を返さず、未定義の場合は、 'console.log'を使わない関数、つまり' ctrl.addFunction(); ' – Harikrishnan

+0

を呼び出してください。おかげで@シルコ – Dev

答えて

1

あなたは関数が返すものは何でも印刷しようとしているため、と彼らは何もを返しません
未定義の印刷sunFunction、彼らはただconsole.logから文字列を印刷します。

実行トレースは次のとおりです。

console.log(ctrl.addFunction()); 
    > addFunction() 
      > prints 'printing addFunction' //First console.log in output 
      > returns nothing 
    > console.log(undefined) //Second console.log in output 
関連する問題