This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Permite reaccionar a valores que están cambiando dentro del objeto. | |
| // Asemeja al data binding (iNotifyPropertyChanged) en c#. | |
| // Utiliza los métodos como propiedades en ves de campos publicos. Como hace el framework Knockout.js | |
| // prieceChanging y prieceChanged son arreglos que almacenarán los métodos que se ejecutarán en esos casos. | |
| var Book = function( name, price ) { | |
| var priceChanging = [], | |
| priceChanged = []; | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Util para crear API's que trabajen con objetos mutables. | |
| // Trabaja con un objeto raiz. | |
| // Patrón utilizado en JQuery y LinQ | |
| // Las funciones retornan su objeto raiz para que sea posible encadenar funciones | |
| // y hacen las operaciones sobre una variable que pertenece al objeto raiz. | |
| var Calc = function( start ) { | |
| this.add = function( x ) { | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // "arguments" contiene todos los argumentos pasados a la función. | |
| // Util en caso de que el numero de argumentos posibles sea indeterminado. | |
| // En el ejemplo se suman los números pasados como argumentos, aunque no verifica antes si son números. | |
| function mySum() { | |
| var x = 0, | |
| i = 0, | |
| length = arguments.length; | |
| for ( ; i < length; i++ ) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // El uso de generadores aún no está estandarizado. 25/10/2015 | |
| // Requiere generators.js | |
| // El asterisco '*' lo define como generador | |
| // yield detiene el procedimiento hasta que pueda continuar | |
| // Librerias: bluebird para frontend -usado en el ejemplo-, co para bakcend node.js, q para angular | |
| Promise.coroutine(function* () { | |
| var user = yield $.get('user.json'); | |
| // Do stuff with user |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Para los casos en los que es necesario concatenar tareas asíncronas. | |
| // $.get() es una version simplificada de esto: | |
| $.ajax({ | |
| url: url, | |
| data: data, | |
| success: success, | |
| dataType: dataType | |
| }); | |
| // Cada operacion al finalizar retorna una promesa que es empleada como una cadena de tareas |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Explicación de los parámetros básicos de ajax | |
| * Puede almacenarse en una variable o llamarse directamente. | |
| * method: método usado para la solicitud. "POST", "GET", "PUT". | |
| * data: incluye datos en el procedimiento. | |
| * dataType: establece el formato del archivo que sera devuelto "xml, json, jsonp, script, text o html" | |
| * context: el objeto descrito sera el contexto de los callback relacionados con la solicitud. | |
| */ | |
| var request = $.ajax({ | |
| url: "script.php", | |
| method: "POST", |
NewerOlder