2012-05-26 116 views
9

我剛剛開始使用node.js。因此,以Hello World示例node.js beginner book開始。當我輸入命令console.log("Hello world");。它在控制檯上打印Hello World。我從這個代碼,但在下一行期望其還打印undefined爲什麼在node.js中未定義hello world console.log後的例子

我從這個鏈接安裝的NodeJS窗戶installation of nodejs for windows

這裏下面是截圖也是這個

enter image description here

+0

JavaScript函數,因此返回undefined必須返回任何東西,當我使用的console.log( 「Hello World」 的);返回;它不打印undefined – rahularyansharma

+1

Node shell會輸出你輸入的任何返回值,在這種情況下,它是未定義的。 –

回答

14

每個JavaScript函數都返回一些東西當你像這樣定義函數:

function test() { 
    var x = 1; 
} 

然後test()回報undefined。這同樣適用於console.log函數。它所做的是將參數傳遞給顯示器。就這樣。因此它返回undefined

現在節點JS殼作品以這樣的方式,只要你輸入一個函數,變量等,這顯示它的返回值。因此console.log('Hello world!');Hello world!傳遞給屏幕並返回undefined,然後NodeJS外殼顯示。

這或多或少它是如何工作的。

+0

當我在節點控制檯中輸入'for(c {}){};'時,我仍然得到'undefined'。我很確定'for'不是一個函數。所以我懷疑你的回答是不正確的,或者至少是不完整的。 –

+1

對不起,這個遲到的迴應,完全錯過了評論。無論如何,它適用於所有表達式。每個JavaScript表達式(不僅是函數)都返回一些東西,即使不是每個結果都可以分配給一個變量。 – freakish