Skip to content

Commit

Permalink
Merge pull request #21 from UlisesGascon/dev
Browse files Browse the repository at this point in the history
v1.0.3
  • Loading branch information
UlisesGascon authored Mar 2, 2017
2 parents 0cb4817 + c30b428 commit 5fc5112
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 19 deletions.
10 changes: 5 additions & 5 deletions manuscript/capitulo10.txt
Original file line number Diff line number Diff line change
Expand Up @@ -362,14 +362,14 @@ var ambitoGlobal = "Soy una variable Global!";

function miFuncion () {
var ambitoLocal = "Soy una variable Local!";
console.log("Desde local puedo ver ambitoLocal?", ambitoLocal);
console.log("Desde local puedo ver ambitoGlobal?", ambitoGlobal);
console.log("Desde -local- puedo ver ambitoLocal?", ambitoLocal);
console.log("Desde -local- puedo ver ambitoGlobal?", ambitoGlobal);
}

console.log("Desde local puedo ver ambitoLocal?", ambitoLocal);
console.log("Desde -global- puedo ver ambitoLocal?", ambitoLocal);
//Uncaught ReferenceError: ambitoLocal is not defined(…)

console.log("Desde local puedo ver ambitoGlobal?", ambitoGlobal);
console.log("Desde -global- puedo ver ambitoGlobal?", ambitoGlobal);
~~~~~~~

Este juego de ámbito local y global, puede extenderse en el entorno compartido y aislado de las funciones anidadas.
Expand Down Expand Up @@ -658,7 +658,7 @@ Cuando en JavaScript se habla de asincronía, lo que realmente esta ocurriendo e
I> La mala noticia, es que recaerá en el lector todo el peso de controlar esos caballos
I> desbocados.
I> La asincronía es tan potente, que no existe otra forma de trabajar sobre Node.js. Por
I> eso Nodejs está concebido -de principio a fin- como un sistema asíncrono.
I> eso Node.js está concebido -de principio a fin- como un sistema asíncrono.

Existen muchas formas de manejar la asincronía.

Expand Down
4 changes: 2 additions & 2 deletions manuscript/capitulo11.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ function informacionSistema(){

### *[window.screen](https://developer.mozilla.org/en-US/docs/Web/API/Screen)*

Esta API nos permite sacar toda la información disponible de la pantallá (márgenes, profundidad del color...), así podremos bloquear y desbloquear la rotación de la pantalla en el dispositivo.
Esta API nos permite sacar toda la información disponible de la pantalla (márgenes, profundidad del color...), así podremos bloquear y desbloquear la rotación de la pantalla en el dispositivo.


{lang=js}
Expand Down Expand Up @@ -779,7 +779,7 @@ eventos.agregar(document.body, 'click', function (e) {

#### Delegación de Eventos

Una de las técnicas más útiles para ahorrar memorIa, es utilizar la *delegación de eventos*, es decir, en vez de poner un evento por cada uno de los elementos que compone una estructura de datos, es preferible hacerlo únicamente, sobre el elemento padre común a todos ellos y simplemente filtrar cuál de los hijos fue disparado.
Una de las técnicas más útiles para ahorrar memoria, es utilizar la *delegación de eventos*, es decir, en vez de poner un evento por cada uno de los elementos que compone una estructura de datos, es preferible hacerlo únicamente, sobre el elemento padre común a todos ellos y simplemente filtrar cuál de los hijos fue disparado.


**Modo Clásico (sin delegación)**
Expand Down
8 changes: 4 additions & 4 deletions manuscript/capitulo12.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Los métodos más utilizados son *GET*, *POST (típico de formularios)*, *PUT* y

Cuando nos llega la respuesta del servidor, siempre viene acompañada de un código numérico que nos confirma el resultado de la petición, por ejemplo, el *[mítico error 404](https://www.genbeta.com/web/error-404-not-found-historia-y-hazanas-de-este-mitico-codigo)*, que nos habremos encontrado en multitud de ocasiones navegando por la red.

Estos códigos de estado puede dividirse en cinco categorías principales:
Estos códigos de estado pueden dividirse en cinco categorías principales:

- 1xx **Informativas**.
- 2xx **Peticiones Correctas**.
Expand All @@ -55,7 +55,7 @@ Estos códigos de estado puede dividirse en cinco categorías principales:
Siendo especialmente importantes para nosotros, los 4xx y los 5xx, ya que nos indican errores que están sucediendo y esto seguramente derive en un tráfico de datos erróneo.


I> Aquí podéis encontrar la *[lista de completa](https://es.wikipedia.
I> Aquí podéis encontrar la *[lista completa](https://es.wikipedia.
I> org/wiki/Anexo:C%C3%B3digos_de_estado_HTTP)* y la *[especificación](https://tools.ietf.
I> org/html/rfc2616#section-10)*.

Expand All @@ -79,7 +79,7 @@ Para hacer que todo esto fluya, es necesario comprender que juegan muchos factor

Normalmente en el mundo de la web cuando nos referimos a una API, casi siempre hablamos de una API REST, que nos permite a través de una serie de urls y siguiendo una *[metodología CRUD](https://www.wikiwand.com/es/CRUD)*, trabajar con un backend desde el cliente.

Esto permite conseguir datos (peticiones GET), actualizar datos (peticiones PUT), crear nuevos datos (peticiones POST) y eliminar datos (Peticiones Delete).
Esto permite conseguir datos (peticiones GET), actualizar datos (peticiones PUT), crear nuevos datos (peticiones POST) y eliminar datos (peticiones Delete).

En la mayoría de los casos, el intercambio de información entre el cliente y servidor se realiza utilizando un formato de intercambio de datos conocido como JSON y no XML como antiguamente. De todo esto hablaremos a lo largo de este último capítulo.

Expand Down Expand Up @@ -167,7 +167,7 @@ Respuesta 409

Antes de realizar nuestra primera llamada Ajax, veamos como trabajar con JSON.

Para la visualización, validación y conversión dinámica de datos contamos con alguna herramientas muy Útiles.
Para la visualización, validación y conversión dinámica de datos contamos con algunas herramientas muy útiles.

- *[JSONLint](http://jsonlint.com/)*
- *[JSON Formatter & Validator](https://jsonformatter.curiousconcept.com/)*
Expand Down
2 changes: 1 addition & 1 deletion manuscript/capitulo4.txt
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ Por otra parte *Switch* tiene varias desventajas notables:

## *[Operador Ternario](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Operadores/Conditional_Operator)*

El *operador ternario (?:)* nos ofrece una manera propia hacer estructuras condicionales.
El *operador ternario (?:)* nos ofrece una manera propia de hacer estructuras condicionales.

Este operador simplifica mucho la sintaxis propia de los condicionales, pero se desaconseja su uso para operaciones o evaluaciones múltiples.

Expand Down
6 changes: 3 additions & 3 deletions manuscript/capitulo8.txt
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ Hacemos una recopilación simplificada de los métodos más utilizados, aunque e

- ***[.isArray()](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/isArray)***

Retorna un booleano en función que el parámetro es un array o no.
Retorna un booleano en función de si el parámetro es un array o no.

{lang=js}
~~~~~~~
Expand Down Expand Up @@ -394,7 +394,7 @@ I> encima los siguientes métodos y su funcionamiento... para regresar más adel

{lang=js}
~~~~~~~
function tamañoValido(elemento, indice, arrreglo) {
function tamañoValido(elemento, indice, arreglo) {
return elemento >= 10;
}
[12, 5, 8, 130, 44].some(tamañoValido); // true
Expand All @@ -407,7 +407,7 @@ I> encima los siguientes métodos y su funcionamiento... para regresar más adel

{lang=js}
~~~~~~~
function tamañoValido(elemento, indice, arrreglo) {
function tamañoValido(elemento, indice, arreglo) {
return elemento >= 10;
}
[12, 5, 8, 130, 44].every(tamañoValido); // false
Expand Down
9 changes: 5 additions & 4 deletions manuscript/capitulo9.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,16 +131,17 @@ Hacemos una recopilación simplificada de los métodos más utilizados, aunque e
Object.defineProperties(miObjeto, {
"propiedad1": {
value: true,
writable: true
writable: true,
value: "Propiedad1 original..."
},
"propiedad2": {
value: "Cadena de texto",
writable: false
}
});
console.info(miObjeto);
miObjeto.propiedad = "Propiedad original Modificada";
console.info(miObjeto.propiedad);
miObjeto.propiedad1 = "Propiedad1 original Modificada";
console.info(miObjeto.propiedad1);
miObjeto.propiedad2 = "Cadena de texto... ¿modificada?";
console.info(miObjeto.propiedad2);
~~~~~~~
Expand Down Expand Up @@ -348,4 +349,4 @@ objetoAbreviado.propiedad1;
Un buen manejo de objetos, nos dará las claves para poder tener una estructura de datos eficiente en nuestra aplicación y en las *[comunicaciones cliente-servidor](https://es.wikipedia.org/wiki/Cliente-servidor)*.

I> Los objetos, sientan las bases sobre las que luego almacenaremos mucha más información,
I> en el capítulo 13, veremos mucho más sobre esto.
I> en el capítulo 12, veremos mucho más sobre esto.

0 comments on commit 5fc5112

Please sign in to comment.