Diferencia entre revisiones de «JavaScript»
(KIcrkzPfkDxXNntwg) |
(→Ver también) |
||
(No se muestran 10 ediciones intermedias de 4 usuarios) | |||
Línea 1: | Línea 1: | ||
− | + | [[Category:JavaScript]] | |
+ | [[JavaScript]] es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C. | ||
+ | |||
+ | Al igual que [[Java]], [[JavaScript]] es un lenguaje orientado a objetos propiamente dicho, ya que dispone de Herencia, si bien esta se realiza siguiendo el paradigma de programación basada en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. | ||
+ | |||
+ | Todos los navegadores modernos interpretan el código [[JavaScript]] integrado dentro de las páginas web. Para interactuar con una página web se provee al lenguaje [[JavaScript]] de una implementación del DOM. | ||
+ | |||
+ | ==Frameworks== | ||
+ | [[JavaScript]] cuenta con infinidad de frameworks y librerias que otorgan diversa funcionalidad. Entre los más conocidos: | ||
+ | * [[JQuery]], un framework de aplicación base, sumamente extensible. | ||
+ | * [[Prototype]], un framework de aplicación base que permite definir clases, muy usado. | ||
+ | * [[Rico]], un framework de componentes de presentación [AJAX]. | ||
+ | * [[Concurrent Thread Javascript]], librería para manejo de hilos. | ||
+ | |||
+ | ==Compatibilidad entre navegadores== | ||
+ | ===Problemas con IE=== | ||
+ | ====Json is undefined==== | ||
+ | La version de IE7 e IE8 no tiene importado de forma nativa las librerias de Json, por lo tanto hay que importarlas. | ||
+ | |||
+ | < !--[if lt IE 8]> | ||
+ | <script type="text/javascript" src="/js/json2.js"></script> | ||
+ | <![endif]--> | ||
+ | |||
+ | Bajar la libreria de json desde [[https://github.com/douglascrockford/JSON-js aca]]. | ||
+ | |||
+ | ====Change event listener==== | ||
+ | El comportamiento del listener del evento "change" cuando se lo bindeamos a un radio button es el siguiente: | ||
+ | |||
+ | * en IE 7 el evento se dispara cuando el focus abandona el radio button. | ||
+ | |||
+ | * en Firefox (3.x), Safari (3.x) y opera (96) el evento se dispara al momento de que el radio button es seleccionado, sin esperar a que el focus abandone el radio. | ||
+ | |||
+ | Un workaround para que IE se comporte igual que el resto de los navegadores es el siguiente: | ||
+ | |||
+ | if ($.browser.msie) { | ||
+ | $('input[name=radioXXX]').bind('click', function(){ | ||
+ | this.blur(); | ||
+ | this.focus(); | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | $('input[name=radioXXX]').bind('change', function(){ | ||
+ | ........; | ||
+ | }); | ||
+ | |||
+ | ==Ver también== | ||
+ | * [http://es.wikipedia.org/wiki/JavaScript JavaScript en la Wikipedia] | ||
+ | * [http://www.theserverside.com/tt/articles/article.tss?l=OOJavaScriptDemonstrated Conceptos y operaciones básicas] | ||
+ | * [[Test de javascript con QUnit]] | ||
+ | * [[Node.js]] | ||
+ | * [[JasmineJs]] | ||
+ | * [[Integrando JasmineJS con Ant]] | ||
+ | * [[UnderscoreJs]] | ||
+ | * [[Minificado Javascript con YUI Compressor]] |
Revisión actual del 13:00 6 ago 2013
JavaScript es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.
Al igual que Java, JavaScript es un lenguaje orientado a objetos propiamente dicho, ya que dispone de Herencia, si bien esta se realiza siguiendo el paradigma de programación basada en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad.
Todos los navegadores modernos interpretan el código JavaScript integrado dentro de las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM.
Contenido
Frameworks
JavaScript cuenta con infinidad de frameworks y librerias que otorgan diversa funcionalidad. Entre los más conocidos:
- JQuery, un framework de aplicación base, sumamente extensible.
- Prototype, un framework de aplicación base que permite definir clases, muy usado.
- Rico, un framework de componentes de presentación [AJAX].
- Concurrent Thread Javascript, librería para manejo de hilos.
Problemas con IE
Json is undefined
La version de IE7 e IE8 no tiene importado de forma nativa las librerias de Json, por lo tanto hay que importarlas.
< !--[if lt IE 8]> <script type="text/javascript" src="/js/json2.js"></script> <![endif]-->
Bajar la libreria de json desde [aca].
Change event listener
El comportamiento del listener del evento "change" cuando se lo bindeamos a un radio button es el siguiente:
- en IE 7 el evento se dispara cuando el focus abandona el radio button.
- en Firefox (3.x), Safari (3.x) y opera (96) el evento se dispara al momento de que el radio button es seleccionado, sin esperar a que el focus abandone el radio.
Un workaround para que IE se comporte igual que el resto de los navegadores es el siguiente:
if ($.browser.msie) { $('input[name=radioXXX]').bind('click', function(){ this.blur(); this.focus(); }); } $('input[name=radioXXX]').bind('change', function(){ ........; });