Skip to content

Commit 8a9179f

Browse files
authored
Merge pull request #1 from javascript-tutorial/master
merge from repo
2 parents 683fc34 + d406053 commit 8a9179f

File tree

223 files changed

+4602
-3937
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

223 files changed

+4602
-3937
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
* text=auto eol=lf
2+
*.svg binary

1-js/01-getting-started/1-intro/article.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Los scripts se proporcionan y ejecutan como texto plano. No necesitan preparaci
1212

1313
En este aspecto, JavaScript es muy diferente a otro lenguaje llamado [Java](<https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)>).
1414

15-
```smart header="¿Por qué <u>Java</u>Script?"
15+
```smart header="¿Por qué se llama <u>Java</u>Script?"
1616
Cuando JavaScript fue creado, inicialmente tenía otro nombre: "LiveScript". Pero Java era muy popular en ese momento, así que se decidió que el posicionamiento de un nuevo lenguaje como un "Hermano menor" de Java ayudaría.
1717
1818
Pero a medida que evolucionaba, JavaScript se convirtió en un lenguaje completamente independiente con su propia especificación llamada [ECMAScript] (https://es.wikipedia.org/wiki/ECMAScript), y ahora no tiene ninguna relación con Java.
@@ -38,7 +38,7 @@ Los motores son complicados, pero los fundamentos son fáciles.
3838
2.- Entonces convierte ("compila") el script a lenguaje máquina.
3939
3.- y por último el código maquina se ejecuta muy rápido.
4040
41-
El motor aplica optimizaciones en cada paso del proceso. Incluso observa como el script compilado se ejecuta, analiza los datos que fluyen a través de él y aplica optimizaciones al código maquina basadas en ese conocimiento. Cuando está terminado, los scripts se ejecutan bastante rápido.
41+
El motor aplica optimizaciones en cada paso del proceso. Incluso observa como el script compilado se ejecuta, analiza los datos que fluyen a través de él y aplica optimizaciones al código maquina basadas en ese conocimiento.
4242
```
4343

4444
## ¿Qué puede hacer JavaScript en el navegador?
@@ -65,16 +65,14 @@ Ejemplos de tales restricciones incluyen:
6565

6666
- JavaScript en el navegador no puede leer y escribir arbitrariamente archivos en el disco duro, copiarlos o ejecutar programas. No tiene acceso directo a funciones del Sistema operativo (OS).
6767

68-
Los navegadores mas modernos le permiten trabajar con archivos, pero el acceso es limitado y solo permitido si el usuario realiza ciertas acciones, como "arrastrar" un archivo a la ventana del navegador o seleccionarlo por medio de una etiqueta `<input`>.
68+
Los navegadores más modernos le permiten trabajar con archivos, pero el acceso es limitado y solo permitido si el usuario realiza ciertas acciones, como "arrastrar" un archivo a la ventana del navegador o seleccionarlo por medio de una etiqueta `<input`>.
6969

70-
Existen maneras de interactuar con la cámara, micrófono y otros dispositivos, pero eso requiere el permiso explicito del usuario. Por lo tanto, una página habilitada para JavaScript no puede habilitar una cámara web para observar el entorno y enviar la información a la [NSA](https://es.wikipedia.org/wiki/Agencia_de_Seguridad_Nacional).
71-
72-
- Diferentes pestañas y ventanas generalmente no se conocen entre sí. A veces si lo hacen, por ejemplo, cuando una ventana usa JavaScript para abrir otra. Pero incluso en este caso, JavaScript no puede acceder a la otra si provienen de diferentes sitios. (De diferente dominio, protocolo o puerto).
70+
Existen maneras de interactuar con la cámara, micrófono y otros dispositivos, pero eso requiere el permiso explícito del usuario. Por lo tanto, una página habilitada para JavaScript no puede habilitar una cámara web para observar el entorno y enviar la información a la [NSA](https://es.wikipedia.org/wiki/Agencia_de_Seguridad_Nacional).
71+
- Diferentes pestañas y ventanas generalmente no se conocen entre sí. A veces si lo hacen, por ejemplo, cuando una ventana usa JavaScript para abrir otra. Pero incluso en este caso, JavaScript no puede acceder a la otra si provienen de diferentes sitios (de diferente dominio, protocolo o puerto).
7372

7473
Esto es conocido como "política del mismo origen" ("Same Origin Policy"). Para evitar eso, ambas páginas deben contener código especial de JavaScript que permita manejar el intercambio de datos. Cubriremos esto en el tutorial.
7574

76-
Esta limitación es, de nuevo, para la seguridad del usuario. Una página de `http://anysite.com` la cual el usuario ha abierto no debe ser capaz de acceder a otra pestaña del navegador con la URL `http://gmail.com` y robar información de esta otra página.
77-
75+
Esta limitación es, de nuevo, para la seguridad del usuario. Una página de `http://anysite.com` la cual el usuario ha abierto no debe ser capaz de acceder a otra pestaña del navegador con la URL `http://gmail.com` y robar información de esta otra página.
7876
- JavaScript puede fácilmente comunicarse a través de la red con el servidor de donde la página actual proviene. Pero su capacidad para recibir información de otros sitios y dominios esta bloqueada. Aunque sea posible, esto requiere un acuerdo explícito (expresado en los encabezados HTTP) desde el sitio remoto. Una vez más, esto es una limitación de seguridad.
7977

8078
![](limitations.svg)
@@ -90,7 +88,6 @@ Existen al menos _tres_ cosas geniales sobre JavaScript:
9088
+ Las cosas simples se hacen de manera simple.
9189
+ Soportado por la mayoría de los navegadores y habilitado de forma predeterminada.
9290
```
93-
9491
JavaScript es la única tecnología de los navegadores que combina estas tres cosas.
9592

9693
Eso es lo que hace a JavaScript único. Por esto es la herramienta mas extendida para crear interfaces de navegador.

1-js/01-getting-started/4-devtools/bug.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<body>
99

10-
Hay un error en el script de ésta página.
10+
Hay un error en el script de esta página.
1111
<script>
1212
lalala
1313
</script>
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
[html src="index.html"]
1+
2+
[html src="index.html"]

1-js/02-first-steps/02-structure/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Pero deberían ser dos sentencias separadas, no una. Tal unión en este caso es
9494

9595
Recomendamos colocar puntos y coma entre las sentencias, incluso si están separadas por saltos de línea. Esta regla está ampliamente adoptada por la comunidad. Notemos una vez más que es posible omitir los puntos y coma la mayoría del tiempo. Pero es más seguro, especialmente para un principiante, usarlos.
9696

97-
## Comentarios
97+
## Comentarios [#code-comments]
9898

9999
A medida que pasa el tiempo, los programas se vuelven cada vez más complejos. Se hace necesario agregar *comentarios* que describan lo que hace el código y por qué.
100100

@@ -136,7 +136,7 @@ alert('Mundo');
136136
```
137137

138138
```smart header="¡Usa accesos rápidos del teclado!"
139-
En la mayoría de los editores, se puede comentar una línea de código presionando `key:Ctrl+/` para un comentario de una sola línea y algo como `key:Ctrl+Shift+/` - para comentarios de varias líneas (selecciona una parte del código y pulsa la tecla de acceso rápido). Para Mac, intenta `key: Cmd` en lugar de `key: Ctrl`.
139+
En la mayoría de los editores, se puede comentar una línea de código presionando `key:Ctrl+/` para un comentario de una sola línea y algo como `key:Ctrl+Shift+/` - para comentarios de varias líneas (selecciona una parte del código y pulsa la tecla de acceso rápido). Para Mac, intenta `key: Cmd` en lugar de `key: Ctrl` y `key:Option` en lugar de `key:Shift`.
140140
```
141141

142142
````warn header="¡Los comentarios anidados no son admitidos!"

1-js/02-first-steps/04-variables/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ let имя = '...';
203203
let 我 = '...';
204204
```
205205
206-
Técnicamente, no existe ningún error aquí, tales nombres están permitidos, pero existe una tradición internacional de utilizar inglés en el nombramiento de variables. Incluso si estamos escribiendo un script pequeño, este puede tener una larga vida por delante. Puede ser necesario que gente de otros países deba leerlo en algún momento.
206+
Técnicamente, no existe ningún error aquí. Tales nombres están permitidos, pero existe una tradición internacional de utilizar inglés en el nombramiento de variables. Incluso si estamos escribiendo un script pequeño, este puede tener una larga vida por delante. Puede ser necesario que gente de otros países deba leerlo en algún momento.
207207
````
208208

209209
````warn header="Nombres reservados"
@@ -267,7 +267,7 @@ Existe una práctica utilizada ampliamente de utilizar constantes como aliases d
267267
268268
Tales constantes se nombran utilizando letras mayúsculas y guiones bajos.
269269
270-
Por ejemplo:
270+
Por ejemplo, creemos constantes para los colores en el formato "web" (hexadecimal):
271271
272272
```js run
273273
const COLOR_RED = "#F00";
@@ -303,7 +303,7 @@ En otras palabras, las constantes nombradas con mayúscula son utilizadas como
303303
304304
Estando en el tema de las variables, existe una cosa de mucha importancia.
305305
306-
Por favor se sensato al nombrar tus variables. Pensémolo por un momento.
306+
Una variable debe tener un nombre claro, de significado evidente, que describa el dato que almacena.
307307
308308
Nombrar variables es una de las habilidades más importantes y complejas en la programación. Un vistazo rápido a el nombre de las variables nos revela cuál código fue escrito por un principiante o por un desarrollador experimentado.
309309

0 commit comments

Comments
 (0)