Alessandra Salvaggio - JavaScript - Guía completa

Здесь есть возможность читать онлайн «Alessandra Salvaggio - JavaScript - Guía completa» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на испанском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

JavaScript: Guía completa: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «JavaScript: Guía completa»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Si quieres crear codigo compatible con la mayor parte de los navegadores existentes, JavaScript es el lenguaje de programacion web que necesitas.
Este libro se centra en la aplicacion de JavaScript en el ambito web y se basa en ECMAScript 6, la version de JavaScript mas utilizada en la actualidad. Gracias a las prestaciones mejoradas de los PC, la ejecucion de JavaScript es cada vez mas rapida, cosa que ha permitido ampliar su entorno de uso.
Entre los temas tratados:
Trabajar con cadenas de texto, bucles, funciones, formularios y eventos
Expresiones regulares, objetos, arrays asociativos, modo estricto
Funciones avanzadas, JSON, AJAX y REST
Objetos avanzados, DOM y BOM
Lienzo, geolocalización
Web worker, arrastre, Visual Studio Code
Ademas, en la parte inferior de la primera pagina del libro encontraras el codigo de acceso que te permitira descargar de forma gratuita los contenidos adicionales del ebook en www.marcombo.info.

JavaScript: Guía completa — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «JavaScript: Guía completa», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Esto significa que, si en una función, por ejemplo, hay un bloque ify una variable o una constante se definen con leto consten el bloque if, estas existirán solo en el bloque y no en toda la función.

Por ejemplo:

function miFuncion() {if (true) {let variable = 123;}console.log(variable);}

La función anterior nos devolvería un error porque variableexiste solo en el bloque ify no la podemos utilizar fuera de ella para mostrar el valor en la consola.

Debemos profundizar en esta cuestión, precisando que letfue introducida a partir de ECMAScript 6 (2015) y no está disponible en las versiones anteriores del programa.

En las versiones de JavaScript anteriores, para declarar una variable se utilizaba la palabra var,que también se utiliza en ECMAScript 6.

Tratemos de entender por qué es conveniente utilizar let.

Las instrucciones:

var nombreUsuario1 = 'Mario Rossi';let nombreUsuario2 = 'Paolo Bianchi';

desarrollan exactamente las mismas operaciones:

•Crean un área de memoria suficientemente amplia para conservar los caracteres de las cadenas.

•Asignan a esta área el nombre “nombreUsuario1”/“nombreUsuario2”.

La diferencia entre ambas consiste en su área de validez o scope.

Ya hemos dicho que el área de validez de letes el bloque. Pues bien, el área de validez de var, en cambio, es la función.

Veamos un ejemplo para explicarlo mejor; utilizamos una función que acepta como parámetros de entrada un array de números y calcula su suma y su media aritmética.

function mediaConVar1(numeros) { var suma = 0;for ( var indice= 0; indice < numeros.length; indice += 1) {suma += numeros[indice];} var media = suma / numeros.length;return `Los ${numeros.length} números tienen suma=${suma} y media=${media}. El índice es ${indice}`;}

Ejemplo de uso de la función: mediaConVar1([84, 36, 61, 67, 22, 20, 22, 16, 79, 54]);

Puedes encontrar este ejemplo en el archivo Scope .html

En esta función hemos definido tres variables: suma, indicey media. Observa que están definidas en el punto en el que se utilizan: sumainmediatamente antes del bucle fordel cálculo de la suma, indicedentro del bucle fory mediadespués de que se ha calculado la suma.

La definición de variables en el punto en que se utilizan la primera vez es común a muchos otros lenguajes de programación.

Sin embargo, JavaScript, a diferencia de otros lenguajes, tiene un comportamiento peculiar (el término técnico es hoisting ): las instrucciones vardentro de una función se ejecutan antes que todas las otras, sea donde sea que se encuentren en la función.

Para demostrar este efecto, añadimos a nuestra función una línea que escribe en la consola del navegador el valor de la variable media antesque la línea que la define:

var suma = 0;console.log(`media = ${media}`)for (var indice = 0; indice < numeros.length; indice += 1) {suma += numeros[indice];}var media = suma / numeros.length;

Pensaríamos que se produciría un error durante la ejecución, dado que utilizamos la variable mediaantes que su definición.

En lugar de eso, en la consola podemos ver:

media = undefined

(o media = "", según el navegador que se utilice)

Este mensaje significa que la variable mediaexiste, pero que por el momento no tiene ningún valor. Esto se produce porque, de hecho, JavaScript, en fase de ejecución, reorganiza el código de esta manera:

function mediaConVar1bis(numeros) { var suma; var indice; var media;suma = 0;for (indice = 0; indice < numeros.length; indice += 1) {suma += numeros[indice];}media = suma / numeros.length;return `Los ${numeros.length} números tienen suma=${somma} y media=${media}. El índice es ${indice}`;}

donde todas las variables se definen al inicio de la función, pero no se les asigna un valor de inmediato.

Este comportamiento puede llevar a engaño incluso a los más expertos, puesto que se sugiere siempre definir explícitamente las variables al inicio de la función para que se vea que, efectivamente, es JavaScript quien gestiona el código:

function mediaConVar2(numeros) { var suma = 0, indice, media;for (indice = 0; indice < numeros.length; indice += 1) {suma += numeros[indice];}media = suma / numeros.length;return `Los ${numeros.length} números tienen suma=${suma} y media=${media}. El índice es ${indice}`;}

En el ejemplo, para crear un código más simplificado, hemos agrupado las definiciones en una única instrucción var(las variables separadas por comas) y hemos inicializado (mediante asignación), donde es necesario, el valor (suma = 0).

De este modo, con todas las variables al inicio, no es posible engañarse y utilizar una variable antes de que sea definida.

La solución de definir todas las variables al inicio, sin embargo, no es demasiado elegante y son pocos los lenguajes de programación que aconsejan o imponen esta práctica.

De hecho, esta puede causar errores en el código, dado que aleja el punto en que se define la variable del punto en que se utiliza y es más difícil mantener bajo control su gestión de forma correcta, sobre todo cuando el código es largo y complejo.

Así, en ECMAScript 6 (2015), para evidenciar este problema, se introdujo la instrucción let,que obliga a JavaScript a comportarse de una forma más parecida a los otros lenguajes: así se evita el hoisting , las variables se definen en el momento de la instrucción en que están creadas, no existen antes (por lo que no pueden ser utilizadas antes) y, si la definición se produce dentro de un bloque (entre dos {}), la variable no existe fuera de él.

NOTA Recuerda que hemos dicho que el área de validez de letes el bloque, mientras que la de vares la función.

Si utilizamos let, la función propuesta se convierte en:

function mediaConLet(numeros) { let suma = 0;for ( let indice = 0; indice < numeros.length; indice += 1) {suma += numeros[indice];} let media= suma / numeros.length;return `Los ${numeros.length} números tiene suma=${suma} y media=${media}. El índice es ${indice}`;}

Puedes encontrar este ejemplo en el archivo Scope2 .html

Si intentamos ejecutar esta función se producirá un error (visible en la consola del navegador) que indica que, en la instrucción de return, se utiliza una variable, indice, no definida.

De hecho, la variable indice, definida con let, existe solo dentro del bucle for(su área de validez es el bucle for).

Por lo tanto, debemos eliminar la lectura de la variable indiceo definirla justo antes del bucle for(sin embargo, por norma general, las variables utilizadas como índice de un bucle no tienen ninguna utilidad fuera del bucle mismo):

return `Los ${numeros.length} números tienen suma=${suma} y media=${media}`;

Incluso si añadimos la línea:

console.log(`media = ${media}`)

antes del ciclo forse producirá un error, esta vez determinado por el intento de acceder a la variable mediaantes de su definición.

Конец ознакомительного фрагмента.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «JavaScript: Guía completa»

Представляем Вашему вниманию похожие книги на «JavaScript: Guía completa» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «JavaScript: Guía completa»

Обсуждение, отзывы о книге «JavaScript: Guía completa» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x