-
Notifications
You must be signed in to change notification settings - Fork 13
/
JavaScript.txt
9885 lines (8349 loc) · 328 KB
/
JavaScript.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=========================
Guía de JavaScript by dM
=========================
La sintaxis de JavaScript es muy similar a la de otros lenguajes de programación
como Java y C. Las normas básicas que definen la sintaxis de JavaScript son las
siguientes:
-No se tienen en cuenta los espacios en blanco y las nuevas líneas: como sucede
con XHTML, el intérprete de JavaScript ignora cualquier espacio en blanco
sobrante, por lo que el código se puede ordenar de forma adecuada para
entenderlo mejor (tabulando las líneas, añadiendo espacios, creando nuevas
líneas, etc.)
-Se distinguen las mayúsculas y minúsculas: al igual que sucede con la sintaxis
de las etiquetas y elementos XHTML. Sin embargo, si en una página XHTML se
utilizan indistintamente mayúsculas y minúsculas, la página se visualiza
correctamente, siendo el único problema la no validación de la página.
En cambio, si en JavaScript se intercambian mayúsculas y minúsculas el script no
funciona.
-No se define el tipo de las variables: al crear una variable, no es necesario
indicar el tipo de dato que almacenará. De esta forma, una misma variable puede
almacenar diferentes tipos de datos durante la ejecución del script.
-No es necesario terminar cada sentencia con el carácter de punto y coma (;): en
la mayoría de lenguajes de programación, es obligatorio terminar cada sentencia
con el carácter ;. Aunque JavaScript no obliga a hacerlo, es conveniente seguir
la tradición de terminar cada sentencia con el carácter del punto y coma (;).
<script type="text/javascript">
=========================
Comentarios en Javascript
=========================
// Comentarios de línea
/* Comentarios de
multiple línea*/
=============
Ḿétodo length
=============
Saber el largo de una cadena:
"cadena".length
6
=======================
Operaciones aritméticas
=======================
Se pueden realizar operaciones aritmeticas en la consola de js, el resultado es
mostrado en la consola:
2 + 2
3 + 7
8 * 4
10 / 3
=======================
El método console.log()
=======================
Escribe un mensaje en la consola. La consola es útil para realizar pruebas.
Consejo: al probar este método, asegúrese de tener la vista de la consola
visible (presione F12 para ver la consola).
El método console.log() toma lo que está entre paréntesis y lo registra en la
pantalla debajo de tu código; ¡por eso es que se llama console.log() (registro
de pantalla)!
console.log("Hola")
console.log(2 * 5)
================
Cajas de diálogo
================
Estas cajas de diálogos pueden usarse para que los usuarios confirmen acciones.
En la consola js se vera si es true o false la confirmacion, util para alertar.
confirm("Estoy listo para continuar.");
confirm("El contenido será borrado")
confirm("Los cambios no han sido guardados")
prompt
======
Muestra un cuadro de aviso que le pregunte al usuario algo y lo que introduzca
se puede guardar en una variable, ejemplo:
var pais = prompt("Cual es su país");
console.log(pais);
-----
Comparar si la cadena es mayor que un numero:
"Cadena de texto larga".length > 10
true
"Cadena".length > 10
false
===============
Sintaxis básica
===============
Declaración simple de variable:
var foo = 'Hola Mundo';
Los espacios en blanco no tienen valor fuera de las comillas:
var foo = 'hello world';
Los paréntesis indican prioridad:
2 * 3 + 5; // es igual a 11; la multiplicación ocurre primero
2 * (3 + 5); // es igual a 16; por lo paréntesis, la suma ocurre primero
Declará una variable en la línea 2 que se llame miPais y dale un valor de cadena.
var miPais="Venezuela"
Usá console.log para mostrar el largo de la variable miPais
console.log(miPais.length);
Usa console.log para mostrar las tres primeras letras de miPais
console.log(miPais.substring(0,3));
La tabulación mejora la lectura del código, pero no posee ningún significado
especial:
var foo = function() {
console.log('hello');
};
foo();
==========
Operadores
==========
Los operadores básicos permiten manipular valores.
Concatenación
=============
var foo = 'hello';
var bar = 'world';
console.log(foo + ' ' + bar);
La consola de depuración muestra 'hello world'
Multiplicación y división
=========================
2 * 3;
2 / 3;
Incrementación y decrementación
===============================
var i = 1;
var j = ++i; // incrementación previa: j es igual a 2; i es igual a 2
var k = i++; // incrementación posterior: k es igual a 2; i es igual a 3
Operaciones con números y cadenas de caracteres
===============================================
En JavaScript, las operaciones con números y cadenas de caracteres (en inglés
strings) pueden ocasionar resultados no esperados.
Suma vs concatenación
=====================
var foo = 1;
var bar = '2';
console.log(foo + bar);
error: La consola de depuración muestra 12
Forzar a una cadena de caracteres actuar como un número
=======================================================
var foo = 1;
var bar = '2';
el constructor 'Number' obliga a la cadena comportarse como un número
console.log(foo + Number(bar));
La consola de depuración muestra 3
El constructor Number, cuando es llamado como una función (como se muestra en el
ejemplo) obliga a su argumento a comportarse como un número. También es posible
utilizar el operador de suma unaria, entregando el mismo resultado:
Forzar a una cadena de caracteres actuar como un número (utilizando el operador
de suma unaria)
var foo = 1;
var bar = '2';
console.log(foo + +bar);
==================
Operadores lógicos
==================
Los operadores lógicos permiten evaluar una serie de operandos utilizando
operaciones AND y OR.
Operadores lógicos AND y OR
===========================
var foo = 1;
var bar = 0;
var baz = 2;
foo || bar; // devuelve 1, el cual es verdadero (true)
bar || foo; // devuelve 1, el cual es verdadero (true)
foo && bar; // devuelve 0, el cual es falso (false)
foo && baz; // devuelve 2, el cual es verdadero (true)
baz && foo; // devuelve 1, el cual es verdadero (true)
El operador || (OR lógico) devuelve el valor del primer operando, si éste es
verdadero; caso contrario devuelve el segundo operando. Si ambos operandos son
falsos devuelve falso (false). El operador && (AND lógico) devuelve el valor del
primer operando si éste es falso; caso contrario devuelve el segundo operando.
Cuando ambos valores son verdaderos devuelve verdadero (true), sino devuelve
falso.
Puede que a veces note que algunos desarrolladores utilizan esta lógica en
flujos de control en lugar de utilizar la declaración
if.
Por ejemplo:
Realizar algo con foo si foo es verdadero:
foo && doSomething(foo);
Wstablecer bar igual a baz si baz es verdadero;
Caso contrario, establecer a bar igual al
valor de createBar()
var bar = baz || createBar();
Este estilo de declaración es muy elegante y conciso; pero puede ser difícil
para leer (sobretodo para principiantes). Por eso se explícita, para reconocerlo
cuando este leyendo código. Sin embargo su utilización no es recomendable a
menos que esté cómodo con el concepto y su comportamiento.
Ejemplo:
const a = 3;
const b = 2;
const c = 1;
console.log(a > b || c > b);
// expected output: true
Operadores de comparación
=========================
Los operadores de comparación permiten comprobar si determinados valores son
equivalentes o idénticos.
Operadores de Comparación
var foo = 1;
var bar = 0;
var baz = '1';
var bim = 2;
foo == bar; // devuelve falso (false)
foo != bar; // devuelve verdadero (true)
foo == baz; // devuelve verdadero (true); tenga cuidado
foo === baz; // devuelve falso (false)
foo !== baz; // devuelve verdadero (true)
foo === parseInt(baz); // devuelve verdadero (true)
foo > bim; // devuelve falso (false)
bim > baz; // devuelve verdadero (true)
foo <= baz; // devuelve verdadero (true)
Código condicional
==================
A veces se desea ejecutar un bloque de código bajo ciertas condiciones. Las
estructuras de control de flujo — a través de la utilización de las
declaraciones if y else permiten hacerlo.
Control del flujo
=================
var foo = true;
var bar = false;
if (bar) {
// este código nunca se ejecutará
console.log('hello!');
}
if (bar) {
// este código no se ejecutará
} else {
if (foo) {
// este código se ejecutará
} else {
// este código se ejecutará si foo y bar son falsos (false)
}
}
Elementos verdaderos y falsos
=============================
Para controlar el flujo adecuadamente, es importante entender qué tipos de
valores son "verdaderos" y cuales "falsos". A veces, algunos valores pueden
parecer una cosa pero al final terminan siendo otra.
Valores que devuelven verdadero (true)
'0'; // una cadena de texto cuyo valor sea 0
'any string'; // cualquier cadena
[]; // un array vacío
{}; // un objeto vacío
1; // cualquier número distinto a cero
Valores que devuelven falso (false)
0;
''; // una cadena vacía
NaN; // la variable JavaScript "not-a-number" (No es un número)
null; // un valor nulo
undefined; // tenga cuidado -- indefinido (undefined) puede ser redefinido
Variables condicionales utilizando el operador ternario
=======================================================
A veces se desea establecer el valor de una variable dependiendo de cierta
condición. Para hacerlo se puede utilizar una declaración if/else, sin embargo
en muchos casos es más conveniente utilizar el operador ternario.
Definición: El operador ternario evalúa una condición; si la condición es
verdadera, devuelve cierto valor, caso contrario devuelve un valor diferente.
Este operador se usa con frecuencia como atajo para la instrucción if.
Sintaxis
========
condición ? expr1 : expr2
Parámetros:
-condición: Una expresión que se evalúa como true o false.
-expr1, expr2: Expresión con valores de algún tipo.
El operador ternario
====================
Establecer foo igual a 1 si bar es verdadero, caso contrario, establecer a
foo igual a 0.
var foo = bar ? 1 : 0;
Ejemplo:
<script>
var bar=true;
// var bar=null;
var foo = bar ? 1 : 0;
console.log(foo);
</script>
El operador ternario puede ser utilizado sin devolver un valor a la variable,
sin embargo este uso generalmente es desaprobado.
Otro ejemplo:
var age, voteable;
age = 18;
voteable = (age < 18) ? "Menor de edad" : "Mayor de edad";
alert(voteable);
Operador ternario con más de 1 comparación
==========================================
var number, result;
number = 1;
result = (number == 1) ? "Valgo 1" : (number == 2) ? "Valgo 2" : 'No valgo ni 1 ni 2';
"Valgo 1"
number = 2;
result = (number == 1) ? "Valgo 1" : (number == 2) ? "Valgo 2" : 'No valgo ni 1 ni 2';
"Valgo 2"
number = 3;
result = (number == 1) ? "Valgo 1" : (number == 2) ? "Valgo 2" : 'No valgo ni 1 ni 2';
"No valgo ni 1 ni 2"
==================
Declaración switch
==================
En lugar de utilizar una serie de declaraciones if/else/else if/else, a veces
puede ser útil la utilización de la declaración switch. [Definición: La
declaración Switch evalúa el valor de una variable o expresión, y ejecuta
diferentes bloques de código dependiendo de ese valor.]
Una declaración switch
switch (foo) {
case 'bar':
alert('el valor es bar');
break;
case 'baz':
alert('el valor es baz');
break;
default:
alert('de forma predeterminada se ejecutará este código');
break;
}
Las declaraciones switch son poco utilizadas en JavaScript, debido a que el
mismo comportamiento es posible obtenerlo creando un objeto, el cual posee más
potencial ya que es posible reutilizarlo, usarlo para realizar pruebas, etc.
Por ejemplo:
var stuffToDo = {
'bar' : function() {
alert('el valor es bar');
},
'baz' : function() {
alert('el valor es baz');
},
'default' : function() {
alert('de forma predeterminada se ejecutará este código');
}
};
if (stuffToDo[foo]) {
stuffToDo[foo]();
} else {
stuffToDo['default']();
}
======
Bucles
======
Los bucles (en inglés loops) permiten ejecutar un bloque de código un
determinado número de veces.
// muestra en la consola 'intento 0', 'intento 1', ..., 'intento 4'
for (var i=0; i<5; i++) {
console.log('intento ' + i);
}
Note que en el ejemplo se utiliza la palabra var antes de la variable i, esto
hace que dicha variable quede dentro del "alcance" (en inglés scope) del bucle.
Más adelante en este capítulo se examinará en profundidad el concepto
de alcance.
Bucles utilizando for
=====================
Un bucle utilizando for se compone de cuatro estados y posee la siguiente
estructura:
for ([expresiónInicial]; [condición]; [incrementoDeLaExpresión]) [cuerpo]
El estado expresiónInicial es ejecutado una sola vez, antes que el bucle
comience. Éste otorga la oportunidad de preparar o declarar variables.
El estado condición es ejecutado antes de cada repetición, y retorna un valor
que decide si el bucle debe continuar ejecutándose o no. Si el estado
condicional evalúa un valor falso el bucle se detiene.
El estado incrementoDeLaExpresión es ejecutado al final de cada repetición y
otorga la oportunidad de cambiar el estado de importantes variables. Por lo
general, este estado implica la incrementación o decrementación de un contador.
El cuerpo es el código a ejecutar en cada repetición del bucle.
Un típico bucle utilizando for
for (var i = 0, limit = 100; i < limit; i++) {
// Este bloque de código será ejecutado 100 veces
console.log('Currently at ' + i);
// Nota: el último registro que se mostrará
// en la consola será "Actualmente en 99"
}
----------
for (var propiedad in objeto){
// código a repetir por el bucle.
// dentro de este código la variable "propiedad" contiene la propiedad actual
// actual en cada uno de los pasos de la iteración.
}
Ejemplos:
<script type = "text/javascript" language = "javascript">
var diasMes = {
enero: 31,
febrero: 28,
marzo: 31,
abril: 30,
mayo: 31
}
for (var mes in diasMes){
console.log(mes);
}
alert(diasMes["mayo"]);
</script>
-----
<script type = "text/javascript" language = "javascript">
usuarios = {
"Miguel Angel Alvarez" : {
},
"DesarrolloWeb.com" : {
},
"EscuelaIT" : {
},
}
for (var usuario in usuarios){
console.log(usuario);
}
</script>
-----
<script type = "text/javascript" language = "javascript">
usuarios = {
"Miguel Angel Alvarez" : {
"edad" : 11
},
"DesarrolloWeb.com" : {
"edad" : 22
},
"EscuelaIT" : {
"edad" : 33
},
}
for(var usuario in usuarios) {
if(usuarios[usuario].edad) {
console.log(usuarios[usuario].edad);
}
}
</script>
Fuente
======
https://desarrolloweb.com/articulos/recorridos-propiedades-objetos-javascript-forin.html
=========
forEach()
=========
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The forEach() Method</h2>
<p>forEach() calls a function for each element in an array:</p>
<p id="demo"></p>
<script>
const fruits = ["apple", "orange", "cherry"];
fruits.forEach(myFunction);
function myFunction(item, index) {
console.log(index);
console.log(item);
}
</script>
</body>
</html>
-----
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arrays</h2>
<p>Array.forEach() calls a function for each array element.</p>
<p id="demo"></p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";
document.getElementById("demo").innerHTML = text;
function myFunction(value) {
text += "<li>" + value + "</li>";
}
</script>
</body>
</html>
Salida:
JavaScript Arrays
Array.forEach() calls a function for each array element.
Banana
Orange
Apple
Mango
Bucles utilizando while
=======================
Un bucle utilizando while es similar a una declaración condicional if, excepto
que el cuerpo va a continuar ejecutándose hasta que la condición a evaluar sea
falsa.
while ([condición]) [cuerpo]
Un típico bucle utilizando while:
var i = 0;
while (i < 100) {
// Este bloque de código se ejecutará 100 veces
console.log('Actualmente en ' + i);
i++; // incrementa la variable i
}
Puede notar que en el ejemplo se incrementa el contador dentro del cuerpo del
bucle, pero también es posible combinar la condición y la incrementación, como
se muestra a continuación:
Bucle utilizando while con la combinación de la condición y la incrementación
var i = -1;
while (++i < 100) {
// Este bloque de código se ejecutará 100 veces
console.log('Actualmente en ' + i);
}
Se comienza en -1 y luego se utiliza la incrementación previa (++i).
Bucles utilizando do-while
==========================
Este bucle es exactamente igual que el bucle utilizando while excepto que el
cuerpo es ejecutado al menos una vez antes que la condición sea evaluada.
do [cuerpo] while ([condición])
Un bucle utilizando do-while
do {
// Incluso cuando la condición sea falsa
// el cuerpo del bucle se ejecutará al menos una vez.
alert('Hello');
} while (false);
Este tipo de bucles son bastantes atípicos ya que en pocas ocasiones se necesita
un bucle que se ejecute al menos una vez. De cualquier forma debe estar al tanto
de ellos.
break y continue
================
Usualmente, el fin de la ejecución de un bucle resultará cuando la condición no
siga evaluando un valor verdadero, sin embargo también es posible parar un bucle
utilizando la declaración break dentro del cuerpo.
Detener un bucle con break
for (var i = 0; i < 10; i++) {
if (something) {
break;
}
}
También puede suceder que quiera continuar con el bucle sin tener que ejecutar
más sentencias del cuerpo del mismo bucle. Esto puede realizarse utilizando la
declaración continue.
Saltar a la siguiente iteración de un bucle:
for (var i = 0; i < 10; i++) {
if (something) {
continue;
}
// La siguiente declaración será ejecutada
// si la condición 'something' no se cumple
console.log('Hello');
}
================================================
Acceder a elementos del árbol DOM con selectores
================================================
Seleccionar un nodo de elemento individual:
-getElementById(): utiliza el valor del atributo id de un elemento.
-querySelector(): Utiliza un selector CSS, y regresa el primer elemento
coincidente.
-getElementsByClassName(): Selecciona todos los elementos que tienen un valor
especifico por su atributo de clase CSS.
-getElementsByName: Selecciona los elementos que tengan un nombre específico.
-getElementsByTagName(): Selecciona todos los elementos que tengan un nombre de
etiqueta específica.
querySelectorAll(): Usa un selector CSS para seleccionar todos los elementos que
hagan match.
Ejemplos:
getElementById()
================
Con getElementById poder escribir data de js en el html.
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to change the text in this paragraph.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
</body>
</html>
querySelector()
===============
<!DOCTYPE html>
<html>
<body>
<h2 class="example">A heading with class="example"</h2>
<p class="example">A paragraph with class="example".</p>
<p>Click the button to add a background color to the first element in the document with class="example".</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.querySelector(".example").style.backgroundColor = "red";
}
</script>
</body>
</html>
-----
<!DOCTYPE html>
<html>
<body>
<p>This is a p element.</p>
<p>This is also a p element.</p>
<p>Click the button to add a background color to the first p element in the document.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.querySelector("p").style.backgroundColor = "red";
}
</script>
</body>
</html>
-----
<!DOCTYPE html>
<html>
<body>
<h2 class="example">A heading with class="example"</h2>
<p class="example">A paragraph with class="example".</p>
<p>Click the button to add a background color to the first p element in the document with class="example".</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.querySelector("p.example").style.backgroundColor = "red";
}
</script>
</body>
</html>
-----
<!DOCTYPE html>
<html>
<body>
<p id="demo">This is a p element with id="demo".</p>
<p>Click the button to change the text of the p element.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
document.querySelector("#demo").innerHTML = "Hello World!";
}
</script>
</body>
</html>
getElementsByClassName()
========================
<!DOCTYPE html>
<html>
<body>
<div class="example">First div element with class="example".</div>
<div class="example">Second div element with class="example".</div>
<p>Click the button to change the text of the first div element with class="example" (index 0).</p>
<button onclick="myFunction()">Try it</button>
<p><strong>Note:</strong> The getElementsByClassName() method is not supported in Internet Explorer 8 and earlier versions.</p>
<script>
function myFunction() {
var x = document.getElementsByClassName("example");
x[0].innerHTML = "Hello World!";
}
</script>
</body>
</html>
getElementsByTagName()
======================
<!DOCTYPE html>
<html>
<body>
<p>An unordered list:</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<p>Click the button to display the innerHTML of the second li element (index 1).</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementsByTagName("LI");
document.getElementById("demo").innerHTML = x[1].innerHTML;
}
</script>
</body>
</html>
querySelectorAll()
==================
<!DOCTYPE html>
<html>
<body>
<h2 class="example">A heading with class="example"</h2>
<p class="example">A paragraph with class="example".</p>
<p>Click the button to add a background color all elements with class="example".</p>
<button onclick="myFunction()">Try it</button>
<p><strong>Note:</strong> The querySelectorAll() method is not supported in Internet Explorer 8 and earlier versions.</p>
<script>
function myFunction() {
var x, i;
x = document.querySelectorAll(".example");
for (i = 0; i < x.length; i++) {
x[i].style.backgroundColor = "red";
}
}
</script>
</body>
</html>
============
document.URL
============
Obtener la URL actual:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the URL of the document.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.URL;
document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
======
Arrays
======
Los arrays (en inglés arrays) son listas de valores con índice-cero (en inglés
zero-index), es decir, que el primer elemento del array está en el índice 0.
Éstos son una forma práctica de almacenar un conjunto de datos relacionados
(como cadenas de caracteres aunque en realidad, un array puede incluir múltiples
tipos de datos, incluso otros arrays.
Un array simple:
var myArray = ['hello','world'];
-----
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arrays</h2>
<p id="demo"></p>
<script>
const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
</script>
</body>
</html>
Muestra en pantalla:
JavaScript Arrays
Saab,Volvo,BMW
-----
Acceder a los ítems del array a través de su índice:
var myArray = ['hello','world','foo','bar'];
console.log(myArray[3]);
muestra en la consola 'bar'
-----
Obtener la cantidad de ítems del array
var myArray = ['hello','world'];
console.log(myArray.length); // muestra en la consola 2
-----
Cambiar el valor de un ítem de un array
var myArray = ['hello','world'];
console.log(myArray[0]);
console.log(myArray[1]);
myArray[1] = 'changed';
console.log(myArray[0]);
console.log(myArray[1]);
Como se muestra en el ejemplo, cambiar el valor de un ítem de un array es
posible.
-----
Añadir elementos a un array con push()
var myArray = ['hello','world'];
console.log(myArray);
myArray.push('new');
console.log(myArray);
Array [ "hello", "world" ]
Array [ "hello", "world", "new" ]
Método join y split en arrays
=============================
var myArray = [ 'h', 'e', 'l', 'l', 'o' ];
var myString = myArray.join(''); // 'hello'
var mySplit = myString.split(''); // [ 'h', 'e', 'l', 'l', 'o' ]
=======
Objetos
=======
Los objetos son elementos que pueden contener cero o más conjuntos de pares de
nombres claves y valores asociados a dicho objeto. Los nombres claves pueden ser