Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
script:jssintaxis [2013/06/30 14:34] alfred [Strings] |
script:jssintaxis [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== JavaScript ====== | ====== JavaScript ====== | ||
| + | * [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects|Referencia de los distintos objetos]]. | ||
| ===== Básico ===== | ===== Básico ===== | ||
| ==== Tipos de datos ==== | ==== Tipos de datos ==== | ||
| Línea 14: | Línea 15: | ||
| * ''toLowerCase()'': Devuelve la cadena en minúsculas. | * ''toLowerCase()'': Devuelve la cadena en minúsculas. | ||
| * ''toUpperCase()'': Devuelve la cadena en mayúsculas. | * ''toUpperCase()'': Devuelve la cadena en mayúsculas. | ||
| + | * Para el ''format'' mira los [[script:jssintaxis&#snippets|snippets]]. | ||
| Parsear a: | Parsear a: | ||
| * Int: ''parseInt''. | * Int: ''parseInt''. | ||
| Línea 38: | Línea 40: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| + | Propiedades: | ||
| + | * ''length'', devuelve el tamaño del array. | ||
| + | |||
| + | Métodos: | ||
| + | * ''push'', añade uno o más elementos al final del array, devuelve el nuevo tamaño.ray. | ||
| + | * ''join'', une los elementos del array en un string a partir de un separador. | ||
| === Arrays asociativos === | === Arrays asociativos === | ||
| Línea 54: | Línea 63: | ||
| } | } | ||
| </code> | </code> | ||
| - | + | ==== Bucles ==== | |
| + | * El foreach es... | ||
| + | <code> | ||
| + | for(key in object) { | ||
| + | if(object.hasOwnProperty(key) { | ||
| + | ...then do something... | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | ==== Condicionales ==== | ||
| + | * Utiliza ''<nowiki>===</nowiki>'' y ''<nowiki>!==</nowiki>'' en vez de ''<nowiki>==</nowiki>'' ya que mejora el trabajo con elementos tipados. | ||
| ===== Orientado a Objetos ===== | ===== Orientado a Objetos ===== | ||
| Hay que tener en cuenta las dos siguientes frases al programar con JavaScript: | Hay que tener en cuenta las dos siguientes frases al programar con JavaScript: | ||
| Línea 157: | Línea 175: | ||
| var p1 = new Point(3,5); | var p1 = new Point(3,5); | ||
| </code> | </code> | ||
| + | ===== Avanzado ===== | ||
| + | ==== Closures ==== | ||
| + | Podemos crear una función parametrizando su código interno y devolviéndola para que luego sea usada con sus propios argumentos: | ||
| + | <code javascript> | ||
| + | var buildfn = function(csvfile, headers) { | ||
| + | var response2console = function(result, response) { | ||
| + | if (result instanceof Error) { | ||
| + | console.error('Error: ' + util.format(response.message)); | ||
| + | } else { | ||
| + | console.error("Wrote %s", csvfile); | ||
| + | fs.writeFileSync(csvfile, result); | ||
| + | csv2console(csvfile, headers); | ||
| + | } | ||
| + | }; | ||
| + | return response2console; | ||
| + | }; | ||
| + | </code> | ||
| + | ===== Notas ===== | ||
| + | * Para eliminar un objeto de memoria haremos: ''delete objeto;''. No se borra el objeto sino la referencia. | ||
| + | |||
| + | ==== Snippets ==== | ||
| + | |||
| + | === String.Format === | ||
| + | <code javascript> | ||
| + | String.format = function() { | ||
| + | var s = arguments[0]; | ||
| + | for (var i = 0; i < arguments.length - 1; i++) { | ||
| + | var reg = new RegExp("\\{" + i + "\\}", "gm"); | ||
| + | s = s.replace(reg, arguments[i + 1]); | ||
| + | } | ||
| + | return s; | ||
| + | } | ||
| + | </code> | ||