2016-10-23 13 views
0

出力を調整するときに「未定義」が返される理由を理解しようとしています。あなたが呼び出しているオブジェクトが値を返すときに、未定義が返されるのはなぜですか?

var learnFn = (function(){ 


    var callMe = function(){ 
    console.log('hi'); 
    } 

    return { 
    name:"tom", 
    callMe: callMe 
    } 
    })(); 

    console.log(learnFn.callMe()); 

    Output: 

    "hi" 
    undefined 
+1

'cosole.log()'は 'undefined'を返すためです。 devツールでこれを実行すると、正確にそのことが分かります。 – vlaz

+0

@vlaz:それは理由ではありません。上記のコードでは、 'console.log()'が返すものは関係ありません。 –

+1

@MichaelGeary本当に、私は関数が何であるかにはあまり注意を払っていませんでした。誰かがコンソールでいくつかのコードを実行していて、 'console.log'からの' undefined 'について混乱していると思いました。私をだますために定期的に起こります。 – vlaz

答えて

3

機能:

var callMe = function(){ 
    console.log('hi'); 
} 

...にはreturn文を持っていません。したがって、undefinedが返されます(関数が実行された内のconsole.logステートメントの後にログに記録されます)。

関連する問題