Vous êtes sur la page 1sur 16

Aprender a desarrollar con JavaScript (2a edición)

Presentación del lenguaje JavaScript

1. Definición y breve historia 17

2. Requisitos previos para un aprendizaje sencillo del lenguaje 19

3. Herramientas necesarias 20

4. Posicionamiento de JavaScript respecto a otras tecnologías de desarrollo web (HTML, CSS,


PHP...)
21

Desarrollo a partir de algoritmos

1. Presentación de la noción de algoritmo 23

2. Noción de variable 24

2.1 Presentación de las nociones de variable y tipo 24


2.2 Tipos básicos y operaciones asociadas 26
2.3 Interés de los tipos 27
2.4 Uso de variables en las expresiones 29
2.5 Tabla resumen de los operadores 29

3. Manipulación de las variables 30

3.1 Nomenclatura de las variables 30


3.2 Asignación 32
3.3 Ejercicio n.°1: Inversión del contenido de dos variables en memoria 33
3.4 Visualización de los resultados 34
3.5 Ejercicio n.°2: Superficies de círculos 37
3.6 Introducción por el teclado 37
3.7 Ejercicio n.°3: Superficie y volumen de una esfera 39

www.ediciones-eni.com © Ediciones ENI 1/16


Aprender a desarrollar con JavaScript (2a edición)

4. Funciones predefinidas 39
4.1 Ejercicio n.°4: Visualización de la longitud de un nombre 40
4.2 Ejercicio n.°5: Determinación de iniciales 41

5. Procesamientos condicionados 44
5.1 Ejercicio n.°6: Polinomio de segundo grado 46
5.2 Ejercicio n.°7: Etiqueta del mes sin cifrar 48
5.3 Ejercicio n.°8: Etiqueta del mes sin cifrar (Siguiente ... Finsiguiente) 51

6. Estructuras iterativas 52
6.1 Concepto de iteraciones 52
6.2 Estructuras iterativas básicas 52
6.3 Ejercicio n.°9: Media de 10 números 55
6.4 Ejercicio n.°10: Media de una serie de n números 56
6.5 Ejercicio n.°11: El común divisor más grande, por el método de las divisiones sucesivas
59
6.6 Estructura iterativa Para 61
6.7 Ejercicio n.°12: Cálculo de la media de 10 números 63
6.8 Ejercicio n.°13: Deducir el número de vocales de una palabra 64

7. Tabla de dimensión única 66

7.1 Ejercicio n.°14: Contar los números pares en una tabla 67

8. Tabla con dimensiones múltiples 69

8.1 Ejercicio n.°15: Minihoja de cálculo 69

9. Procedimientos, funciones y paso de argumentos 71

9.1 Los objetivos 71


9.2 Los procedimientos 72
9.3 Ejercicio n.°16: Llamada de un procedimiento con paso de argumentos 73
9.4 Las funciones 75
9.5 Ejercicio n.°17: Llamada de una función con paso de argumentos 76

www.ediciones-eni.com © Ediciones ENI 2/16


Aprender a desarrollar con JavaScript (2a edición)

Conceptos principales del lenguaje JavaScript

1. Metodología de aprendizaje 79

2. Variables (declaración y tipado) 80


2.1 Ejercicio n.°2: Superficies de círculos 80
2.2 Ejercicio n.°3: Superficie y volumen de una esfera 87
2.3 Ejercicio n.°4: Número de letras de una palabra 90
2.4 Ejercicio n.°5: Determinación de las iniciales 90

Procesamiento condicionado

1. Presentación de la sintaxis 93

2. Ejemplos 95

2.1 Ejercicio n.°6: Polinomio de segundo grado 95


2.2 Ejercicio n.°8: Impresión de la etiqueta de un mes 96

Procesamiento iterativo (bucles)

1. Presentación de la sintaxis de los bucles 99

2. Bucle while 100

2.1 Sintaxis 100


2.2 Ejercicio n.°9: Media de 10 números que se introducirán con el teclado 101
2.3 Ejercicio n.°10: Media de una serie de n números que se introducirán con el teclado 102

3. Bucle do while 104

3.1 Sintaxis 104


3.2 Ejercicio n.°11: Media de una serie de n números que se introducirán con el teclado 104

www.ediciones-eni.com © Ediciones ENI 3/16


Aprender a desarrollar con JavaScript (2a edición)

4. Bucle for 105


4.1 Sintaxis 105
4.2 Ejercicio n.°12: Media de una serie de 10 números que se introducirán con el teclado
106
4.3 Ejercicio n.°13: Contar el número de vocales en una palabra 107

Tablas

1. Tablas de dimensión única 109


1.1 Sintaxis 109
1.2 Ejercicio n.°14: Contar los números pares en una tabla 111

2. Tablas de dimensiones múltiples 112


2.1 Sintaxis 112
2.2 Ejercicio n.°15: Minihoja de cálculo 113

Procedimientos y funciones

1. Los procedimientos 117


1.1 Sintaxis 118
1.2 Ejercicio n.°16: Llamada de un procedimiento con argumentos 118

2. Las funciones 120

2.1 Sintaxis 120


2.2 Ejercicio n.°17: Llamada de una función con argumentos 121

Enfoque orientado a “objetos” en JavaScript

1. Introducción 123

www.ediciones-eni.com © Ediciones ENI 4/16


Aprender a desarrollar con JavaScript (2a edición)

2. Programación orientada a objetos a través de ejemplos 124


2.1 Secuencia 1: Declaración de los objetos JavaScript de manera "Inline" 124
2.2 Secuencia 2: Creación de objetos JavaScript con un constructor 125
2.3 Secuencia 3: Variables privadas en una instancia de objeto 126
2.4 Secuencia 4: Paso de argumento(s) a un constructor 127
2.5 Secuencia 5: No compartición de los métodos por las instancias de objetos 128
2.6 Secuencia 6: Noción de prototipo 129
2.7 Secuencia 7: Sobrecarga de un método 131
2.8 Secuencia 8: Extensión de un prototipo 132
2.9 Secuencia 9: Mecanismo de la herencia 133
2.10 Secuencia 10: Límite de la herencia de la secuencia 9 135
2.11 Secuencia 11: Un segundo límite a nuestra herencia 136

Principales objetos en JavaScript

1. Presentación 139

2. Los objetos básicos 140

2.1 Objeto Array 140


2.2 Objeto Date 140
2.3 Objeto Math 148
2.4 Objeto window 151
2.5 Objeto navigator 161
2.6 Objeto String 163

Utilizar formularios para introducir datos

1. Controles en la entrada de datos con JavaScript 169

1.1 Control de entrada de datos en un campo de texto 169


1.2 Control del tipo numérico de una entrada de datos en un campo de texto 176
1.3 Control de caracteres alfabéticos de una entrada de datos en un campo de texto 179

www.ediciones-eni.com © Ediciones ENI 5/16


Aprender a desarrollar con JavaScript (2a edición)

1.4 Control de caracteres alfabéticos y numéricos de una entrada de datos en un campo de


texto
179
1.5 Control de la longitud de una entrada de datos en un campo de texto 179
1.6 Control de entrada de datos en una dirección de e-mail 180
1.7 Control de la selección de una lista desplegable (versión simplificada) 181
1.8 Control de la selección en una lista desplegable (versión extendida) 185
1.9 Control de selección con un botón de radio 188
1.10 Control de la selección con casillas de selección 192

Modelo DOM

1. Introducción 197
1.1 Definición del DOM 197
1.2 Definición de la arborescencia 198

2. Aprendizaje del modelo DOM 201

2.1 Script "Hello World" 201


2.2 Diferencia entre write y writeln 202
2.3 Gestión de los enlaces hipertextos 203
2.4 Gestión de las imágenes 205
2.5 Gestión de formularios y de sus etiquetas 207
2.6 Gestión de los anchors 210
2.7 Gestión de la navegación entre páginas web 212
2.8 Visualización de las características generales del documento 217
2.9 Gestión de los botones en los formularios 219
2.10 Gestión de las tablas (etiqueta HTML table) 230

Exploración de flujo XML vía DOM

1. Noción de flujo XML 259

2. Ejemplos 260

www.ediciones-eni.com © Ediciones ENI 6/16


Aprender a desarrollar con JavaScript (2a edición)

2.1 Ejemplo 1: Visualización del contenido de un e-mail codificado en XML 260


2.2 Ejemplo 2: Lista de marcas de coches (archivo coches.xml) 264
2.3 Ejemplo 3: Lista de las marcas de coches con un bucle 266
2.4 Ejemplo 4: Lista de nodos conectados a la raíz 267
2.5 Ejemplo 5: Lista de los campos (nodos) de cada coche 269
2.6 Ejemplo 6: Sustitución de un valor de nodo 272
2.7 Ejemplo 7: Acceso a los atributos 272
2.8 Ejemplo 8: Acceso a un nodo padre 274
2.9 Ejemplo 9: Recorrer hacia atrás los nodos 275
2.10 Ejemplo 10: Sustitución sistemática de un valor de atributo 276
2.11 Ejemplo 11: Conversión XML en HTML 277
2.12 Ejemplo 12: Eliminación de un nodo en un flujo XML 279

Gestión de las cookies en JavaScript

1. Noción de cookie 283

2. Escritura de una cookie 284

3. Lectura de una cookie 286

4. Eliminación de una cookie 288

Almacenamiento local de datos

1. Presentación general de las soluciones 291

1.1 Almacenamiento con sessionStorage 292


1.2 Almacenamiento con localStorage 292

2. Implementación de Web Storage a través de ejemplos 293

2.1 Ejemplo 1: Almacenamiento por localStorage de cadenas de caracteres 293


2.2 Ejemplo 2: Almacenamiento en el localStorage de un objeto JavaScript 302

www.ediciones-eni.com © Ediciones ENI 7/16


Aprender a desarrollar con JavaScript (2a edición)

Almacenamiento remoto: formato XML

1. Presentación general de la solución 313

2. Implementación del almacenamiento remoto a través de ejemplos 314


2.1 Ejemplo 1: Acceso Ajax sobre BDD MySQL (lista de los coches) 315
2.2 Ejemplo 2: Acceso MySQL vía Ajax 340

Almacenamiento remoto: formato JSON

1. Presentación general de la solución 347

2. Implementación del almacenamiento remoto a través de ejemplos 349

2.1 Ejemplo 1: Presentación del sistema de notación JSON 349


2.2 Ejemplo 2: Lectura de un archivo JSON con XMLHttpRequest 354
2.3 Ejemplo 3: Lectura de un archivo JSON con XMLHttpRequest y un script servidor en PHP
360
2.4 Ejemplo 4: Lectura de una tabla MySQL con XMLHttpRequest (servidor PHP y flujo
JSON)
362
2.5 Ejemplo 5: Recodificación del ejemplo 4 con una lista desplegable 367

Geolocalización

1. Principio de la geolocalización 373

2. Ejemplos de aplicaciones de geolocalización 374

2.1 Ejemplo 1: Visualización del mapa del centro de España 374


2.2 Ejemplo 2: Visualización del mapa del centro de España (marcador) 382
2.3 Ejemplo 3: Visualización del mapa del centro de España (marcador y círculos de
población)
386

www.ediciones-eni.com © Ediciones ENI 8/16


Aprender a desarrollar con JavaScript (2a edición)

2.4 Ejemplo 4: Visualización del mapa del centro de España (información meteorológica)
389
2.5 Ejemplo 5: Visualización del mapa de Madrid (capa panorámica) 392
2.6 Ejemplo 6: Visualización del mapa de Madrid (Street View) 396

Diseño (HTML5 CANVAS)

1. Presentación del API HTML5 CANVAS 399

2. Ejemplos de aplicaciones del elemento <canvas> 400


2.1 Ejemplo 1: Dibujar un cuadrado sencillo 400
2.2 Ejemplo 2: Dibujar una matriz de TicTacToe 404
2.3 Ejemplo 3: Colocación de dos marcas en la matriz del TicTacToe 408
2.4 Posibles mejoras en el conjunto del TicTacToe 411

Gráficos de gestión

1. Diferentes soluciones de diseño de gráficos de gestión 413

2. Ejemplos de uso de los API de Google Charts 414


2.1 Ejemplo 1: Dibujar un histograma 414
2.2 Ejemplo 2: Representación de un gráfico de sectores 419
2.3 Ejemplo 3: Representación de un mapa 422
2.4 Ejemplo 4: Representación de un indicador 425
2.5 Ejemplo 5: Representación de un timeline 428

Framework AngularJS

1. Presentación general 433

2. Nociones básicas 434

www.ediciones-eni.com © Ediciones ENI 9/16


Aprender a desarrollar con JavaScript (2a edición)

2.1 Primer ejemplo 434


2.2 Directiva ng-bind 437
2.3 Directiva ng-init 439
2.4 Evaluación de una expresión 440
2.5 Ejemplo de resumen 443

3. Manipular tablas de memoria y objetos 445


3.1 Uso de una tabla 445
3.2 Uso de un objeto 448

4. Módulo y controlador 450


4.1 Ejemplo utilizando un módulo y un controlador 453
4.2 Directiva personal 455
4.3 Método personal 457
4.4 Controlador en un archivo externo 460
4.5 Introducir datos con zonas de texto 462

5. Bucles y visualización en modo tabla 464

5.1 Iteración sobre una tabla de datos 464


5.2 Iteración sobre una tabla de datos y un filtro 467
5.3 Iteración sobre una tabla de datos y una ordenación 470
5.4 Iteración sobre una tabla de datos y una tabla HTML 471
5.5 Filtrado de una tabla mediante una zona de texto 475

6. Acceso a un servidor de datos remoto (servidor PHP) 478

6.1 Lista simple a partir de una tabla MySQL 478


6.2 Lista filtrada a partir de una tabla MySQL 488
6.3 Insertar un registro en una tabla MySQL 494

7. Controles de introducción de datos en los formularios 501

7.1 Control para introducir datos en una zona de texto 501


7.2 Control para introducir los datos de una dirección de correo electrónico 503
7.3 Control para introducir datos en una zona de texto requerida 504
7.4 Lista desplegable para escoger una marca 507
7.5 Lista desplegable más avanzada para seleccionar una marca 509

www.ediciones-eni.com © Ediciones ENI 10/16


Aprender a desarrollar con JavaScript (2a edición)

7.6 Lista desplegable todavía más avanzada para seleccionar una marca 511
7.7 Lista desplegable asociada a una búsqueda MySQL 512
7.8 Directivas ng-click y ng-mouseover 516
7.9 Directivas ng-show y ng-mouseleave 520
7.10 Gestión del tiempo (temporizador) 522
7.11 Gestión de las opciones mediante botones de radio 527
7.12 Gestión de las opciones mediante casillas de selección 529

EcmaScript

1. Presentación general 535

2. Aportaciones a nivel de la Programación Orientada a Objetos 536

2.1 Noción de prototipo 536


2.2 Sobrecarga de un método 540
2.3 Extensión de prototipo 544
2.4 Herencia 547
2.5 Primer ejemplo POO en EcmaScript 6 551
2.6 Herencia en EcmaScript 554
2.7 Métodos getter, setter y static en EcmaScript 6 558

3. Funciones flecha (arrow functions) 563

3.1 Ventajas de las funciones flecha 563


3.2 Ejemplo 564

4. Estructuras Map, Set y bucle for of 570

4.1 Presentación general 570


4.2 Ejemplo 570

5. Ámbito de las variables (var o let) 580

5.1 Presentación general 580


5.2 Ejemplo 580

www.ediciones-eni.com © Ediciones ENI 11/16


Aprender a desarrollar con JavaScript (2a edición)

6. Promesas (promise) 584


6.1 Presentación general 584
6.2 Ejemplo 585

7. Desestructuración 589
7.1 Presentación general 589
7.2 Ejemplo 590

Framework Node.js

1. Presentación general 595

2. Instalación de Node.js 596

3. Ejecución del entorno Node.js 598

4. Primer script Node.js que muestra "Hello World" 600


4.1 Presentación general 600
4.2 Código fuente 601
4.3 Ejecución 603

5. Segundo script que muestra «Hello World» (versión con Content-Type) 604
5.1 Presentación general 604
5.2 Código fuente 604
5.3 Ejecución 605

6. Tercer script que muestra «Hello World» (versión HTML) 606

6.1 Presentación general 606


6.2 Código fuente 606
6.3 Ejecución 608

www.ediciones-eni.com © Ediciones ENI 12/16


Aprender a desarrollar con JavaScript (2a edición)

7. Gestión de las URL 608


7.1 Presentación general 608
7.2 Código fuente 608
7.3 Ejecución 610

8. Recuperar parámetros de la URL 611

8.1 Presentación general 611


8.2 Código fuente 611
8.3 Ejecución 613

9. Detectar el evento close en el servidor 614

9.1 Presentación general 614


9.2 Código fuente 614
9.3 Ejecución del servidor node_06.js 616

10. Creación de un objeto con su propio evento 616

10.1 Presentación general 616


10.2 Código fuente 616
10.3 Ejecución 618

11. Mostrar el primer registro de una tabla MySQL (versión 1) 619

11.1 Presentación general 619


11.2 Código fuente 619
11.3 Ejecución 623

12. Mostrar el conjunto de registros de una tabla MySQL 624

12.1 Presentación general 624


12.2 Código fuente 625
12.3 Ejecución 627

13. Mostrar el primer registro de una tabla MySQL (versión 2) 627

13.1 Presentación general 627


13.2 Código fuente 628

www.ediciones-eni.com © Ediciones ENI 13/16


Aprender a desarrollar con JavaScript (2a edición)

13.3 Ejecución 630

Servidor de datos Mongo DB

1. Presentación general 633

2. Instalación de Mongo DB 635

3. Arranque del servidor de datos Mongo DB 636

4. Acceso cliente al servidor de datos Mongo DB 637

5. Operaciones básicas en Mongo DB 638

5.1 Conexión a una base de datos Mongo DB 638


5.2 Insertar datos en una colección 639
5.3 Lista del contenido de una colección 640
5.4 Lista del contenido de una colección con filtrado de datos 641
5.5 Lista de los nombres de las colecciones 642
5.6 Eliminar un objeto en una colección 642
5.7 Actualizar el valor de una propiedad 643
5.8 Herramienta de exportación de datos mongoexport 643
5.9 Herramienta de importación de datos mongoimport 645

Acceso a un servidor Mongo DB desde Node.js

1. Presentación general 647

2. Acceso al servidor de datos Mongo DB 648

2.1 Presentación general 648


2.2 Código fuente 648
2.3 Ejecución 650

www.ediciones-eni.com © Ediciones ENI 14/16


Aprender a desarrollar con JavaScript (2a edición)

3. Insertar documentos en Mongo DB 650


3.1 Presentación general 650
3.2 Código fuente 651
3.3 Ejecución 654

4. Lista de documentos de una colección Mongo DB 654

4.1 Presentación general 654


4.2 Código fuente 654
4.3 Ejecución 657

5. Actualización de un documento de una colección Mongo DB 657

5.1 Presentación general 657


5.2 Código fuente 657
5.3 Ejecución 660

6. Recorrer paso a paso una colección Mongo DB 661

6.1 Presentación general 661


6.2 Código fuente 661
6.3 Ejecución 665

7. Recorrer paso a paso y mostrar una colección Mongo DB 665

7.1 Presentación general 665


7.2 Código fuente 665
7.3 Ejecución 669

Acceso a un servidor Node.js desde AngularJS

1. Presentación general 671

2. Primer servidor Express js 672

2.1 Presentación general 672


2.2 Código fuente 672

www.ediciones-eni.com © Ediciones ENI 15/16


Aprender a desarrollar con JavaScript (2a edición)

3. Un segundo servidor Node js-Express js 676


3.1 Presentación general 676
3.2 Código fuente 676

4. Un tercer servidor Node js-Express js 682


4.1 Presentación general 682
4.2 Código fuente 682

5. Insertar datos en Mongo DB con Express js 686

5.1 Presentación general 686


5.2 Código fuente 686

6. Lista de datos en Mongo DB con Express js 698

6.1 Presentación general 698


6.2 Código fuente 699

7. Inserción de datos en Mongo DB con Express js (AngularJS) 704

7.1 Presentación general 704


7.2 Código fuente 705

8. Inserción de datos en Mongo DB con Express js (mongoose) 713


8.1 Presentación general 713
8.2 Código fuente 714

índice 723

www.ediciones-eni.com © Ediciones ENI 16/16

Vous aimerez peut-être aussi