最近,我在Windows 7機器上安裝了node.js。node.js在控制檯上顯示「undefined」
在執行JavaScript時,我得到一個未定義的消息以及成功執行表達式。
這裏有什麼問題?我沒有注意到任何其他副作用。
最近,我在Windows 7機器上安裝了node.js。node.js在控制檯上顯示「undefined」
在執行JavaScript時,我得到一個未定義的消息以及成功執行表達式。
這裏有什麼問題?我沒有注意到任何其他副作用。
只需寫入"hello world";
並回車......它將返回"hello world"
而不是undefined
,因此不會顯示undefined
。 console.log
返回undefined
並且還將參數記錄到控制檯,以便獲取多條消息。
的JavaScript函數總是返回的東西。如果你沒有在函數中指定要返回的東西,默認情況下會返回'undefined'(你也可以在Firebug中查看)。
不要擔心,但這不影響任何事情,您可以忽略它。
+1。謝謝回覆。有沒有辦法擺脫'未定義',應該是什麼語法? –
如果你製作一個程序(網絡應用程序或命令行),你永遠不會「飛」未定義,所以不要擔心。 – alessioalex
當我沒有輸入任何功能或任何字符;然後還顯示「未定義」。你能解釋一下發生了什麼? –
正如其他人指出的那樣,如果不指定任何返回值,javascript函數將始終返回undefined。你可以忽略它。這不會造成任何傷害。 但是,如果它太煩人,那麼你可以在repl中關閉它。 Repl具有此屬性ignoreUndefined默認設置爲false。您可以將其設置爲true。 試試這個:
module.exports.repl.ignoreUndefined = true;
如果你需要從一個模塊內打開ignoreUndefined
,您可以使用以下行來模擬AvinashB的答案,而不自行輸入到控制檯:
process.stdin.emit('data', "module.exports.repl.ignoreUndefined = true;\n");
那麼這個問題是在幾年前提出的,但還有另一種解釋這裏發生的事情的方法。
嘗試下一個命令:
console.log("Hello World") || "Bye World";
如前所述功能console.log()
回報undefined
正常,你可以選擇一個更好的返回值。由於非嚴格(抽象)比較認爲undefined
等於false
||
運算符允許您選擇。
考慮到這只是一個調試工具,這是一般使用不必要的,但有助於瞭解該控制檯顯示文本發送到stdout,也evals命令和顯示返回值,或者不確定,如果沒有價值已收到。
嗨@Melo,我認爲這段代碼可以重寫成一個更好的console.log(「Hello World」)。 「再見世界」。 –
謝謝@Vasfed添加格式。 –
修正@DevidFarinelli,也謝謝。 –
node
也打印undefined
因爲通則,它會顯示每個命令的返回值和console.log
不返回任何東西。
謝謝Esailija。當我不輸入任何功能或任何字符時;然後還顯示「未定義」。你能解釋一下發生了什麼? –
@SandeepGB,你對沒有任何輸入有什麼期望? :P不輸入任何內容的返回值最有意義的是'undefined' – Esailija
我試圖理解發生了什麼。 alessioalex回答了我的問題:) –