2012-05-26 8 views
9

私はnode.jsで始まったばかりです。だから、Hello Worldの例の最初の例はnode.js beginner bookです。私はconsole.log("Hello world");というコマンドを入力します。コンソールにはHello Worldが表示されます。それは、私はこのコードからではなく、次の行に期待してもundefinedなぜnode.jsで定義されていないのですか?console.logの後のhello worldの例

は、私は窓のために、このリンクからnodejsをインストール印刷し、ここで、以下のinstallation of nodejs for windows

スクリーンショットは、この

enter image description here

+0

javascript関数は、console.log( "Hello World")を使用すると何も返さないので、未定義を返します。それは印刷されません – rahularyansharma

+1

ノードシェルは入力したものの戻り値を出力します。この場合、未定義です。 –

答えて

14

にもありますすべてのJavaScript関数は何かを返します。

function test() { 
    var x = 1; 
} 

その後、test()戻りundefined:あなたはこのように関数を定義する場合。同じことがconsole.log関数に当てはまります。それは、引数をディスプレイに渡すということです。それだけです。したがって、undefinedを返します。

今すぐノードJSシェルは、関数、変数などを入力するたびに、返された値を表示するように動作します。したがってconsole.log('Hello world!');Hello world!を画面に渡し、ノードJSシェルが表示するundefinedを返します。

これは多かれ少なかれ動作します。

+0

ノードコンソールで 'for(c in {}){};'と入力すると、まだ 'undefined'が得られます。 'for'は関数ではないことは確かです。だから私はあなたの答えが間違っているか、少なくとも不完全であることを疑う。 –

+1

この遅い応答に申し訳ありませんが、完全にコメントを逃した。とにかく、すべての式に適用されます。すべてのJavaScript式(関数だけでなく)は、すべての結果を変数に割り当てることはできないものの、何かを返します。 – freakish

関連する問題