2012-05-26 11 views
9

Właśnie zacząłem od pliku node.js. Zacznijmy od przykładu Hello World: node.js beginner book. po wpisaniu polecenia console.log("Hello world");. Jego drukuje Hello World na konsoli. Że to, co można oczekiwać od tego kodu, ale w następnej linii jego drukuje również undefineddlaczego niezdefiniowane w przykładzie witamy node.js po konsoli.log

zainstalować nodejs z tego linku do okien installation of nodejs for windows

tutaj Poniżej zrzut ekranu również do tego

enter image description here

+0

Funkcja javascript musi zwracać wszystko, aby powrócić niezdefiniowane, gdy używam console.log ("Hello World"); return; nie drukuje undefined – rahularyansharma

+1

Powłoka węzła wyprowadza wartość zwracaną niezależnie od tego, co wprowadzisz, w tym przypadku niezdefiniowana. –

Odpowiedz

14

Każda funkcja JavaScript zwraca coś. Kiedy funkcję zdefiniować tak:

function test() { 
    var x = 1; 
} 

test() następnie powraca undefined. To samo dotyczy funkcji console.log. To, co robi, to przekazuje argumenty do wyświetlenia. I to wszystko. W ten sposób zwraca undefined.

Teraz węzeł JS powłoka działa w taki sposób, że za każdym razem, gdy wprowadzisz funkcję, zmienną itp., Wyświetla ona wartość, która została zwrócona. Tak więc console.log('Hello world!'); przechodzi na ekran i zwraca undefined, który następnie wyświetla powłokę JS węzła.

Mniej więcej jak to działa.

+0

Kiedy wpisuję 'for (c in {}) {};' w konsoli węzła nadal otrzymuję 'undefined'. Jestem całkiem pewien, że 'for' nie jest funkcją. Podejrzewam, że twoja odpowiedź jest nieprawidłowa lub przynajmniej niekompletna. –

+1

Przepraszam za tę spóźnioną odpowiedź, całkowicie pominąłem komentarz. W każdym razie dotyczy to wszystkich wyrażeń. Każde wyrażenie JavaScript (nie tylko funkcje) zwraca coś, mimo że nie każdy wynik można przypisać do zmiennej. – freakish

Powiązane problemy