Primeros pasos con JavaScript
Usando consola.log()
Introducción
Todos los navegadores web modernos, NodeJ y casi todos los demás entornos de JavaScript admiten la escritura de mensajes en una consola mediante un conjunto de métodos de registro. El más común de estos métodos es console.log()
.
En un entorno de navegador, la función console.log()
se utiliza predominantemente con fines de depuración.
Empezando
Abra la consola de JavaScript en su navegador, escriba lo siguiente y presione Enter :
console.log("Hello, World!");
Esto registrará lo siguiente en la consola:
En el ejemplo anterior, la función console.log()
imprime Hello, World!
en la consola y devuelve undefined
(que se muestra arriba en la ventana de resultados de la consola). Esto se debe a que console.log()
no tiene un valor de retorno explícito.
Variables de registro
console.log()
se puede usar para registrar variables de cualquier tipo; no solo cuerdas. Simplemente pase la variable que desea que se muestre en la consola, por ejemplo:
var foo = "bar";
console.log(foo);
Esto registrará lo siguiente en la consola:
Si desea registrar dos o más valores, simplemente sepárelos con comas. Los espacios se agregarán automáticamente entre cada argumento durante la concatenación:
var thisVar = 'first value';
var thatVar = 'second value';
console.log("thisVar:", thisVar, "and thatVar:", thatVar);
Esto registrará lo siguiente en la consola:
marcadores de posición
Puedes usar console.log()
en combinación con marcadores de posición:
var greet = "Hello", who = "World";
console.log("%s, %s!", greet, who);
Esto registrará lo siguiente en la consola:
Objetos de registro
A continuación vemos el resultado de registrar un objeto. Esto suele ser útil para registrar respuestas JSON de llamadas API.
console.log({
'Email': '',
'Groups': {},
'Id': 33,
'IsHiddenInUI': false,
'IsSiteAdmin': false,
'LoginName': 'i:0#.w|virtualdomain\\user2',
'PrincipalType': 1,
'Title': 'user2'
});
Esto registrará lo siguiente en la consola:
Registro de elementos HTML
Tiene la capacidad de registrar cualquier elemento que exista dentro del DOM. En este caso registramos el elemento del cuerpo:
console.log(document.body);
Esto registrará lo siguiente en la consola:
Nota final
Para obtener más información sobre las capacidades de la consola, consulte el tema Consola.
Uso de la API DOM
DOM significa **Documento Oobjeto Mmodelo. Es una representación orientada a objetos de documentos estructurados como XML y HTML.
Establecer la propiedad textContent
de un Element
es una forma de generar texto en una página web.
Por ejemplo, considere la siguiente etiqueta HTML:
<p id="paragraph"></p>
Para cambiar su propiedad textContent
, podemos ejecutar el siguiente JavaScript:
document.getElementById("paragraph").textContent = "Hello, World";
Esto seleccionará el elemento que tiene el id paragraph
y establecerá su contenido de texto en “Hello, World”:
<p id="paragraph">Hello, World</p>
(Véase también esta demostración)
También puede usar JavaScript para crear un nuevo elemento HTML mediante programación. Por ejemplo, considere un documento HTML con el siguiente cuerpo:
<body>
<h1>Adding an element</h1>
</body>
En nuestro JavaScript, creamos una nueva etiqueta <p>
con una propiedad textContent
y la agregamos al final del cuerpo html:
var element = document.createElement('p');
element.textContent = "Hello, World";
document.body.appendChild(element); //add the newly created element to the DOM
Eso cambiará su cuerpo HTML a lo siguiente:
<body>
<h1>Adding an element</h1>
<p>Hello, World</p>
</body>
Tenga en cuenta que para manipular elementos en el DOM usando JavaScript, el código JavaScript debe ejecutarse después de que se haya creado el elemento relevante en el documento. Esto se puede lograr colocando las etiquetas JavaScript <script>
después de todo el resto de su contenido <body>
. Alternativamente, también puede usar un detector de eventos para escuchar, por ejemplo. evento onload
de window
, agregar su código a ese detector de eventos retrasará la ejecución de su código hasta que se haya cargado todo el contenido de su página.
Una tercera forma de asegurarse de que todo su DOM se haya cargado es envolver el código de manipulación DOM con una función de tiempo de espera de 0 ms. De esta manera, este código JavaScript se vuelve a poner en cola al final de la cola de ejecución, lo que le da al navegador la oportunidad de terminar de hacer algunas cosas que no son de JavaScript que han estado esperando para terminar antes de atender a esta nueva pieza de JavaScript.
4: https://stackoverflow.com/questions/779379/por-que-es-settimeoutfn-0-a veces-util
Usando ventana.alerta()
El método alerta
muestra un cuadro de alerta visual en la pantalla. El parámetro del método de alerta se muestra al usuario en texto sin formato:
window.alert(message);
Debido a que ventana
es el objeto global, también puede llamar usando la siguiente forma abreviada:
alert(message);
Entonces, ¿qué hace window.alert()
? Bueno, tomemos el siguiente ejemplo:
alert('hello, world');
En Chrome, eso produciría una ventana emergente como esta:
notas
El método
alerta
es técnicamente una propiedad del objetoventana
, pero dado que todas las propiedadesventana
son automáticamente variables globales, podemos usaralerta
como una variable global en lugar de como una propiedad deventana
- lo que significa que usted puede usar directamentealert()
en lugar dewindow.alert()
.
A diferencia del uso de console.log
, alert
actúa como un mensaje modal, lo que significa que el código que llama a alert
se detendrá hasta que se responda el mensaje. Tradicionalmente, esto significa que no se ejecutará ningún otro código JavaScript hasta que se descarte la alerta:
alert('Pause!');
console.log('Alert was dismissed');
Sin embargo, la especificación en realidad permite que otro código activado por eventos continúe ejecutándose aunque todavía se muestre un cuadro de diálogo modal. En tales implementaciones, es posible que se ejecute otro código mientras se muestra el cuadro de diálogo modal.
Puede encontrar más información sobre [el uso del método alert
] (https://www.wikiod.com/es/javascript/modales—peticiones#Uso de alerta()) en [indicaciones modales] (http ://stackoverflow.com/documentation/javascript/3196/modals-prompts) tema.
Por lo general, se desaconseja el uso de alertas en favor de otros métodos que no impidan que los usuarios interactúen con la página, con el fin de crear una mejor experiencia de usuario. Sin embargo, puede ser útil para la depuración.
A partir de Chrome 46.0, window.alert()
está bloqueado dentro de un <iframe>
a menos que su atributo sandbox tenga el valor allow-modal.
Usando ventana.prompt()
Una manera fácil de obtener una entrada de un usuario es usando el método prompt()
.
Sintaxis
prompt(text, [default]);
- texto: el texto que se muestra en el cuadro de aviso.
- predeterminado: un valor predeterminado para el campo de entrada (opcional).
Ejemplos
var age = prompt("How old are you?");
console.log(age); // Prints the value inserted by the user
Si el usuario hace clic en el botón Aceptar, se devuelve el valor de entrada. De lo contrario, el método devuelve null
.
El valor de retorno de prompt
siempre es una cadena, a menos que el usuario haga clic en Cancelar, en cuyo caso devuelve null
. Safari es una excepción porque cuando el usuario hace clic en Cancelar, la función devuelve una cadena vacía. A partir de ahí, puede convertir el valor devuelto a otro tipo, como un entero.
notas
- Mientras se muestra el cuadro de diálogo, el usuario no puede acceder a otras partes de la página, ya que los cuadros de diálogo son ventanas modales.
- A partir de Chrome 46.0, este método está bloqueado dentro de un
<iframe>
a menos que su atributo sandbox tenga el valor allow-modal.
Usando ventana.confirmar()
El método window.confirm()
muestra un cuadro de diálogo modal con un mensaje opcional y dos botones, Aceptar y Cancelar.
Ahora, tomemos el siguiente ejemplo:
result = window.confirm(message);
Aquí, mensaje es la cadena opcional que se mostrará en el cuadro de diálogo y resultado es un valor booleano que indica si se seleccionó Aceptar o Cancelar (verdadero significa Aceptar).
window.confirm()
generalmente se usa para solicitar la confirmación del usuario antes de realizar una operación peligrosa como eliminar algo en un Panel de control:
if(window.confirm("Are you sure you want to delete this?")) {
deleteItem(itemId);
}
La salida de ese código se vería así en el navegador:
Si lo necesita para un uso posterior, simplemente puede almacenar el resultado de la interacción del usuario en una variable:
var deleteConfirm = window.confirm("Are you sure you want to delete this?");
notas
- El argumento es opcional y no es requerido por la especificación.
- Los cuadros de diálogo son ventanas modales: evitan que el usuario acceda al resto de la interfaz del programa hasta que se cierra el cuadro de diálogo. Por esta razón, no debe abusar de ninguna función que cree un cuadro de diálogo (o ventana modal). E independientemente, hay muy buenas razones para evitar el uso de cuadros de diálogo para la confirmación.
- A partir de Chrome 46.0, este método está bloqueado dentro de un
<iframe>
a menos que su atributo sandbox tenga el valor allow-modal. - Se acepta comúnmente llamar al método de confirmación con la notación de ventana eliminada ya que el objeto de ventana siempre está implícito. Sin embargo, se recomienda definir explícitamente el objeto de la ventana, ya que el comportamiento esperado puede cambiar debido a la implementación en un nivel de alcance más bajo con métodos con nombres similares.
Uso de la API DOM (con texto gráfico: lienzo, SVG o archivo de imagen)
Usando elementos de lienzo
HTML proporciona el elemento de lienzo para crear imágenes basadas en tramas.
Primero construya un lienzo para contener la información de los píxeles de la imagen.
var canvas = document.createElement('canvas');
canvas.width = 500;
canvas.height = 250;
Luego seleccione un contexto para el lienzo, en este caso bidimensional:
var ctx = canvas.getContext('2d');
Luego establezca propiedades relacionadas con el texto:
ctx.font = '30px Cursive';
ctx.fillText("Hello world!", 50, 50);
Luego inserte el elemento canvas
en la página para que surta efecto:
document.body.appendChild(canvas);
Usando SVG
SVG es para crear gráficos escalables basados en vectores y se puede usar dentro de HTML.
Primero cree un contenedor de elementos SVG con dimensiones:
var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
svg.width = 500;
svg.height = 50;
A continuación, cree un elemento de texto
con el posicionamiento deseado y las características de fuente:
var text = document.createElementNS('http://www.w3.org/2000/svg', 'text');
text.setAttribute('x', '0');
text.setAttribute('y', '50');
text.style.fontFamily = 'Times New Roman';
text.style.fontSize = '50';
Luego agregue el texto real para mostrar al elemento text
:
text.textContent = 'Hello world!';
Finalmente agregue el elemento texto
a nuestro contenedor svg
y agregue el elemento contenedor svg
al documento HTML:
svg.appendChild(text);
document.body.appendChild(svg);
Archivo de imagen
Si ya tiene un archivo de imagen que contiene el texto deseado y lo tiene colocado en un servidor, puede agregar la URL de la imagen y luego agregar la imagen al documento de la siguiente manera:
var img = new Image();
img.src = 'https://i.ytimg.com/vi/zecueq-mo4M/maxresdefault.jpg';
document.body.appendChild(img);