La línea de comandos del intérprete de JavaScript

Puedes interpretar expresiones JavaScript en tiempo real utilizando el intérprete proporcionado por la Consola web. Tiene dos modos: entrada unilínea y entrada multilínea.

Modo unilínea

Para entrada de una sola línea, puedes escribir expresiones JavaScript en el campo en la parte inferior del registro de la consola, en el indicador >>.

La consola web, mostrando el modo unilínea

Para ingresar expresiones en el modo unilínea, escribe en el indicador y presiona Intro. Para ingresar expresiones de varias líneas, presiona Mayús+Intro después de escribir cada línea, luego Intro para ejecutar todas las líneas ingresadas.

La expresión que escribas se repite debajo de la petición de entrada, seguida del resultado.

Si tu entrada no parece estar completa cuando presiones Intro, la consola lo trata como Mayús+Intro, lo cual te permite finalizar tu entrada.

Por ejemplo, si escribes:

function foo() {

y luego Intro, la consola no ejecuta inmediatamente la entrada, pero se comporta como si hubieras presionado Mayús+Intro, para que puedas terminar de ingresar la definición de la función.

Modo multilínea

Para la entrada multilínea, haz clic en el icono de "panel dividido" en el lado derecho del campo de entrada unilínea, o presiona Ctrl+B (Windows/Linux) o Cmd+B (macOS). El panel de edición multilínea se abre en el lado izquierdo de la Consola web.

Modo multilínea en la consola web

De manera predeterminada, en este modo puedes ingresar múltiples líneas de JavaScript, presionando Intro después de cada una. Para ejecutar el fragmento que se encuentre actualmente en el panel de edición, haz clic en el botón Ejecutar o presiona Ctrl+Intro (o Cmd+Intro en MacOS). El fragmento se repite debajo de la petición de entrada (en el panel del lado derecho), seguido del resultado. También puedes seleccionar un rango de líneas en el panel de edición y ejecutar solo el código en esas líneas.

A partir de Firefox 76, si el fragmento de código tiene más de cinco líneas, solo las primeras cinco líneas se repiten en la consola, precedidas por un triángulo desplegable (o "twistie") y seguidos por puntos suspensivos (…). Haz clic en cualquier parte del área que contiene el código reproducido para mostrar el fragmento completo; haz clic de nuevo en esa área para contraerlo.

Puedes abrir archivos en el modo multilínea y guardar el contenido actual del panel de edición en un archivo.

  • Para abrir un archivo, presiona Ctrl+O (Cmd+O en MacOS). Se abre un cuadro de diálogo de archivo para que puedas seleccionar el archivo que deseas abrir.
  • Para guardar el contenido del panel de edición, presiona Ctrl+S (Cmd+S en MacOS). Se abre un cuadro de diálogo de archivo para que puedas especificar la ubicación en la que deseas guardar el archivo.

Para volver al modo unilínea, haz clic en el icono X en la parte superior del panel de edición multilínea o presiona Ctrl+B (Windows/Linux) o Cmd+B (MacOS).

Acceder a variables

Puedes acceder a las variables definidas en la página, tanto variables integradas como window como variables agregadas por bibliotecas de JavaScript como jQuery:

Accder a variables

Autocompletado

El editor tiene autocompletado: ingresa las primeras letras y aparecerá una ventana emergente con posibles terminaciones:

Autocompletado

Presiona Intro, Tab o la tecla de flecha derecha para aceptar la sugerencia, usa las flechas arriba/abajo para pasar a una diferente sugerencia, o simplemente sigue escribiendo si no te gusta ninguna de las sugerencias.

Las sugerencias de autocompletado de la consola no distinguen entre mayúsculas y minúsculas.

La consola sugiere terminaciones del ámbito del marco de la pila que se está ejecutando actualmente. Esto significa que si has alcanzado un punto de interrupción en una función, obtienes autocompletado para los objetos locales a la función.

También obtienes sugerencias de autocompletado para elementos de arreglo:

Autocompletado en arreglos

Puedes habilitar o deshabilitar el autocompletado a través del menú Configuración ("engrane") en la barra de herramientas de la Consola web. El elemento de menú Habilitar autocompletado tiene una marca de verificación junto a él cuando la función está habilitada, que falta cuando está inhabilitada. Selecciona el elemento del menú para cambiar el estado.

Evaluación instantánea

Esta característica está disponible en Firefox Nightly, en las versiones etiquetadas con 74 y posteriores.

Cuando la característica de "evaluación instantánea" está habilitada, el intérprete muestra los resultados de las expresiones mientras las escribes en el modo unilínea. Ten en cuenta que el resultado puede ser un mensaje de error. Las expresiones que tienen efectos secundarios no se evalúan.

Puedes habilitar o deshabilitar la evaluación instantánea a través del menú Configuración ("engrane") en la barra de herramientas de la Consola web. El elemento Evaluación instantánea del menú tiene una marca de verificación junto a él cuando la característica está habilitada, y falta cuando está inhabilitada. Selecciona el elemento del menú para cambiar el estado.

Contexto de ejecución

El código que has ejecutado se convierte en parte del contexto de ejecución, independientemente del modo de edición en el que te encontrabas cuando lo ejecutaste. Por ejemplo, si escribes una definición de función en el editor multilínea y haces clic en Ejecutar, puedes cambiar al modo unilínea y seguir utilizando tu función.

Resaltado de sintaxis

La salida de la consola mostrando la sintaxis resaltada

El texto que ingreses tiene resaltado de sintaxis tan pronto como hayas escrito lo suficiente para que el resaltador lo analice e infiera el significado de las "palabras".

La salida también se resalta cuando es apropiado.

Nota: El resaltado de sintaxis no está visible en tu navegador si se han habilitado las funciones de accesibilidad.

Historial de ejecución

El intérprete recuerda las expresiones que has escrito. Para avanzar y retroceder en tu historial:

  • En el modo unilínea, usa las flechas hacia arriba y hacia abajo.
  • En el modo multilínea, utiliza los iconos y de la barra de herramientas del panel de edición.

El historial de expresiones se conserva entre sesiones. Para borrar el historial, usa la función auxiliar clearHistory().

Puedes iniciar una búsqueda inversa a través del historial de expresiones, al igual que en bash en Linux y Mac o PowerShell en Windows. En Windows y Linux, presiona F9. En Mac, presiona Ctrl+R (Nota: ¡no Cmd+R!) para iniciar la búsqueda inversa.

Búsqueda inversa

Ingresa el texto que deseas buscar en el cuadro de entrada en la parte inferior de la consola. Empieza a escribir parte de la expresión que estás buscando y la primera coincidencia se mostrará en la consola. Si escribes F9 repetidamente en Windows y Linux (Ctrl+R en Mac), retrocedes por las coincidencias.

Ejemplo de búsqueda inversa

Una vez que hayas iniciado la búsqueda inversa, puedes usar Mayús+F9 en Windows o Linux (Ctrl+S en Mac) para buscar hacia adelante en la lista de coincidencias. También puedes utilizar los iconos y en la barra de búsqueda de expresiones.

Cuando encuentres la expresión que deseas, presiona Intro (Intro) para ejecutar la instrucción.

Trabajando con iframes

Si una página contiene iframes incrustados, puedes utilizar la función cd() para cambiar el alcance de la consola a un iframe específico, y luego puedes ejecutar funciones definidas en el documento alojado por ese iframe. Hay tres formas de seleccionar un iframe usando cd():

Puedes pasar el elemento iframe del DOM:

var frame = document.getElementById("frame1");
cd(frame);

Puedes pasar un selector de CSS que coincida con el iframe:

cd("#frame1");

Puedes pasar el objeto window global del iframe:

var frame = document.getElementById("frame1");
cd(frame.contentWindow);

Para volver a cambiar el contexto al objeto window de nivel superior, llama a cd() sin argumentos:

cd();

Por ejemplo, supongamos que tenemos un documento que incluye un iframe:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>
    <iframe id="frame1" src="static/frame/my-frame1.html"></iframe>
  </body>
</html>

El iframe define una nueva función:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <script>
      function whoAreYou() {
        return "Yo soy el frame1";
      }
   </script>
  </head>
  <body>
  </body>
</html>

Puedes cambiar el contexto al iframe de esta manera:

cd("#frame1");

Ahora verás que el objeto window global del documento es el iframe:

window global del documentoY puedes llamar a la función definida en el iframe:

función en la consola web

Comandos auxiliares