2012-05-26 19 views
9

acabo de comenzar con node.js. Entonces, para comenzar con Hello World, ejemplo node.js beginner book. cuando escribo el comando console.log("Hello world");. Sus impresiones Hello World en la consola. Que lo que espero de este código, pero en la próxima línea de su también imprime el undefinedpor qué undefined en node.js hello world example after console.log

instalo la nodejs desde este enlace para las ventanas installation of nodejs for windows

aquí abajo es pantalla también para este

enter image description here

+0

La función javascript debe devolver algo, por lo que devuelve indefinido, cuando uso console.log ("Hello World"); return; no imprime indefinido – rahularyansharma

+1

El shell Nodo emite el valor de retorno de lo que ingresa, en este caso, indefinido. –

Respuesta

14

Cada función de JavaScript devuelve algo. Cuando se define la función de la siguiente manera:

function test() { 
    var x = 1; 
} 

luego vuelve test()undefined. Lo mismo se aplica a la función console.log. Lo que hace es que pasa los argumentos a la pantalla. Y eso es todo. Por lo tanto, devuelve undefined.

Ahora Node JS shell funciona de tal forma que cada vez que ingresa una función, variable, etc., muestra el valor que devuelve. Por lo tanto, console.log('Hello world!'); pasa Hello world! a la pantalla y devuelve undefined, que muestra el shell Node JS.

Eso es más o menos cómo funciona.

+0

Cuando escribo 'for (c in {}) {};' en la consola del nodo, sigo obteniendo 'undefined'. Estoy bastante seguro de que 'for' NO es una función. Entonces, sospecho que tu respuesta es incorrecta o al menos incompleta. –

+1

Perdón por esta respuesta tardía, totalmente extrañado el comentario. De todos modos se aplica a todas las expresiones. Cada expresión de JavaScript (no solo funciones) devuelve algo, aunque no todos los resultados se pueden asignar a una variable. – freakish