21 abril, 2011 13:18 :: javfox
Hace algunos días atrás se publicó la camiseta ganadora de Firefox 4 en la página de Mozilla Creative Collective. La comunidad de entusiastas creativos desarrollaron un concurso hace meses atrás para dar lugar a un diseño único que llevarán en su pecho a uno de los navegadores mas importantes del mundo. El desafío terminó este 28 de marzo de 2011 con 1832 diseños presentados al reto Firefox 4 t-shirt design challenge.
El ganador se llama Koen Hendrix y es de Liverpool, Inglaterra.
Koen Hendrix finalizó con 314 votos, mientras que James Bearne recibió 223 votos, quedando en el segundo lugar. El concurso reunió a miles de personas para crear la camiseta. Si eres curioso, puedes ver todas las entradas de diseños que hubo en este reto: diseños finalistas.
Mozilla es una organización sin fines de lucro, basada en la organización comunitaria, que se ha centrado siempre en las contribuciones de la comunidad (con integrantes de distintas partes del mundo) para ayudar con todo, desde el desarrollo y diseño hasta la localización y la difusión. Estos retos son una manera de involucrar a la comunidad de diseño visual para ayudar a avanzar en la misión de mantener la web abierta y libre. ¡Cada diseño tiene el potencial de hacer realmente una diferencia!
4 abril, 2011 11:30 :: Berni
“Enhorabuena a todos #fx4”. Este era el mensaje que se distribuía por Twitter el 22 de marzo de 2011, día en el que Mozilla liberaba la nueva versión de su navegador, Firefox 4, y hacía oficial su lanzamiento. Una semana después, Firefox 4 para dispositivos móviles vió también la luz y el mensaje siguió difundiéndose entre todos los miembros de la Comunidad Mozilla Hispano.
Han sido unos meses muy duros. Muchas horas de traducción y puesta en marcha de webs de Mozilla en español. Ha merecido la pena y ahora llega el momento de celebrarlo y brindar por todo este trabajo y esfuerzo.
Como siempre acostumbramos a hacer en la Comunidad, queremos que forméis parte de todo lo que hacemos. Por eso, os invitamos a celebrar con nosotros el lanzamiento de Firefox 4 en Madrid. Hemos montado un evento en el Hotel Tryp Ambassador el próximo jueves 14 de abril al que no podéis faltar. Una fiesta para todos los que celebráis con nosotros el lanzamiento y para los que aún no nos conocéis. Todo el mundo es bienvenido. Estará con nosotros Pascal Chevrel, el secretario general de Mozilla Europa. ¡Bien!
Una gran oportunidad para que os contemos las novedades de Firefox 4 y para que podáis conocer a todos los miembros activos que trabajamos en la Comunidad desde España y podáis preguntarnos cualquier cosa.
Podréis comentar en directo la fiesta en Twitter, a través del hashtag #fx4madrid y ver vuestros comentarios en la gran pantalla que hemos preparado. ¡Ah! Se nos olvidaba comentar una última sorpresa
Vivíreis algo así como un simpático viaje en el tiempo …
Podéis apuntaros hasta el día 13 de abril en esta página eventos.mozilla-hispano.org/fx4madrid.
¡Os esperamos!
29 marzo, 2011 17:06 :: Berni
destacado firefox firefox mobile firefox4
Sólo una semana después de compartir con vosotros el lanzamiento de Firefox 4, hoy volvemos con otra gran noticia. Mozilla ha publicado hoy la versión final de Firefox 4 para móviles, un navegador con el que llevarte la Web a donde tú quieras.
Quienes ya habéis estado utilizando la versión candidata conocéis bien todas las genialidades que tiene Firefox 4 para móviles. Para los que aún no lo habéis probado ¡este es vuestro momento!
Tiene una interfaz limpia desde la que disfrutar plenamente de tu navegación y acceder a tus pestañas abiertas sólo deslizando un dedo. Podrás alternar entre distintas páginas y abrir otras nuevas. También… ¿cómo no? la Pantalla alucinante. ¿Qué te vamos a contar de ella? ¡Su nombre lo dice todo! Listas inteligentes, marcadores, historial… e incluso pestañas abiertas en otros equipos… ¡Es tan inteligente que conoce tus hábitos!
¿Harto de escribir URLs largas e imposibles, de tener que introducir tu contraseña y nombre de usuario cada vez que visitas la misma página? ¡Con Sync podrás llevarte la Web contigo! Sincroniza todos tus marcadores, contraseñas, datos de formularios y hasta pestañas en todos tus dispositivos. ¡Como lo oyes! Tu Firefox en tu móvil. Y todo esto con la seguridad, la privacidad y el respeto a todos tus datos personales que ya conoces por tu navegador de escritorio.
Además, prepárate para navegar al límite de la velocidad porque Firefox 4 para móviles tiene un rendimiento… ¡increíble!
¿Quieres ver esto y mucho más en acción? Mira este vídeo:
Como has podido ver, Firefox 4 para móviles es igual de personalizable que tu versión de escritorio. Hay unos cuantos complementos que queremos que conozcas porque te van a venir muy bien. Son Personas, Phony, la barra de Twitter, el botón Inicio y un complemento especial, Tapsure, para que le pongas ritmo a tus contraseñas y no tengas que recordar nada más.
¡Te gustarán! Mira cómo funcionan en este vídeo:
Y ahora, como colofón, los fuegos artificiales. Queremos obsequiaros con la última creación de Mozilla. Una aplicación desarrollada exclusivamente para Android y Maemo [ver lista de dispositivos] con la que festejar el lanzamiento oficial de Firefox 4 para móviles. La aplicación se llama Chispa (Spark) y os invita a todos a participar y propagar entre vuestros amigos la chispa de Firefox 4. Entra desde tu teléfono y juega, obtén insignias, compite y ayuda a Mozilla a conseguir una Web mejor. Esto es… Chispa.
22 marzo, 2011 15:50 :: willyaranda
destacada destacado firefox firefox4
Mozilla publica Firefox 4 y brinda una experiencia de navegación rápida, elegante y personalizable a más de 400 millones de usuarios en todo el mundo. Hemos creado una página muy especial sobre Firefox 4, con demos, asistencia, enlaces y demás cosas interesantes que trae esta nueva versión, ¡échala un vistazo!
Mozilla, una organización global sin ánimo de lucro dedicada a mejorar la web, está orgullosa de publicar Firefox 4, la nueva versión del popular navegador web, gratuito y de código abierto. Firefox le da a los usuarios el control de su experiencia web, brindando una interfaz de usuario amigable, nuevas características muy divertidas, un aumento de velocidad y soporte de nuevas y modernas tecnologías web.
Firefox 4 está disponible para descargar en Windows, Mac OS X y Linux en más de 80 idiomas. Además, Firefox 4 también estará disponible en breve para los dispositivos Android y Maemo.
Firefox 4 es la versión más rápida hasta el momento. Con una velocidad increíble y mejoras en el rendimiento, Firefox es de dos a seis veces más rápido que las versiones anteriores. Grandes mejoras al motor de JavaScript hace que desde los tiempos de inicio de la aplicación hasta la velocidad de carga de páginas y el rendimiento de JavaScript sean maravillosamente rápidos en Firefox.
La última versión de Firefox introduce un diseño más estilizado que permite que el contenido Web esté en el lugar central. Con funcionalidades como las Pestañas de aplicación y Panorama, Firefox hace más fácil y más eficiente navegar la Web. Firefox brinda funcionalidades de seguridad y privacidad innovadoras en la industria, como No dejar rastro y la política de Seguridad del contenido para darle a los usuarios control sobre la información personal y protejerlos mientras están en línea.
Firefox Sync permite a los usuarios acceder al historial de la barra alucinante, a los marcadores, a las pestañas abiertas y a las contraseñas a través de los equipos de escritorio y los dispositivos móviles. Firefox también ofrece cientos de miles de complementos, extensiones y Personas y un nuevo administrador de complementos para facilitar el uso y ayudar a descubrir complementos para que los usuarios personalicen su experiencia en la Web.
Firefox soporta tecnologías Web modernas, incluyendo HTML5. Estas tecnologías son la base para construir sitios web sorprendentes y aplicaciones Web. Ve a la Web O’ Wonder y mira las increíbles experiencias web que los desarrolladores pueden crear.
Largo y tendido hemos hablado sobre Firefox en Mozilla Hispano, haciendo un especial sobre su tecnología y lo nuevo que supone: CSS3 y HTML5 mejorado, extensiones fáciles, Firefox Sync, mejora en la interfaz, complementos, velocidad, Panorama…
Firefox 4 es uno de los mayores esfuerzos que ha hecho Mozilla y su comunidad en su larga historia (más de 10 años), ya que, de nuevo, hay una gran e increíble competencia en la web, con Google Chrome, Safari, Opera y, en menor medida, Internet Explorer. Los únicos beneficiados de toda esta competitividad somos todos, los usuarios de la web, una plataforma cada vez más potente y con recursos, en las que la imaginación prima sobre cosas establecidas.
Desde Mozilla Hispano creemos que esta noticia no debería ser una noticia más, si no una celebración para la web, para que todos los usuarios puedan navegar con la última tecnología (recordemos que funciona en Windows 2000 y Windows XP, aún casi con el 50% de los SSOO en la red) y aprovechen al máximo la potencia de la web en este año 2011.
Para celebrarlo y ver más información, visita nuestra página de inicio de Firefox 4. No es mi web, ni tu web, ni la web de determinada empresa. La web es de todos, celebrémoslo.
Firefox más rápido que nunca
Rendimiento: Firefox es hasta seis veces más rápido que las versiones anteriores. Con un tiempo de inicio mejorado y mayor velocidad para cargar páginas Web, rendimiento rápido de aplicaciones Web y gráficos con aceleración por hardware, Firefox está optimizado para sitios web interactivos y complejos.
Interfaz depurada
Pestañas de aplicación: le da un lugar permanente a los sitios web que visitas frecuentemente, como el correo electrónico en la Web, Twitter, Pandora o Flickr.
Ir a la pestaña: puedes encontrar fácilmente las pestañas que tienes abiertas e ir a ellas desde la Barra alucinante sin abrir pestañas duplicadas.
Panorama: arrastra y mueve las pestañas dentro de grupos manejables para ahorrar tiempo mientras navegas entre muchas pestañas abiertas.
Sincronización privada y segura
Firefox Sync: accede al historial de la Barra alucinante, los marcadores, las pestañas abiertas, las contraseñas y la información de formularios entre muchos equipos de escritorio y dispositivos móviles.
Más personalizable
Nuevo administrador de complementos: descubre fácilmente e instala más de 200.000 complementos para personalizar las características, las funciones y el diseño de Firefox.
Privado y seguro
No dejar rastro: Firefox está liderando la Web hacia una función estándar llamada No me rastreen que permite a los usuarios optar por evitar el rastreo del comportamiento que usan las publicidades.
Firefox pone la privacidad en primer lugar, arreglando problemas en estándares Web que previenen que otros accedan a tu historial de navegación.
HTTP Strict Transport Security (HSTS): establece automáticamente conexiones seguras para detener el riesgo potencial de ataques de «hombre en el medio» y mantener los datos sensibles a salvo de la intercepción durante el proceso de ingreso a un sitio web.
Content Security Policy (CSP): previene ataques de scripts entre servidores al permitir que los sitios web digan explícitamente a los navegadores qué contenido es legítimo.
Herramientas de vanguardia para desarrolladores Web
El motor de JavaScript incorpora el nuevo compilador JIT JägerMonkey, además de mejoras a los interpretadores ya existentes TraceMonkey y SpiderMonkey para acelerar la velocidad de carga de páginas y mejorar el rendimiento de las aplicaciones Web y los juegos.
El soporte de HTML5 en Firefox incluye la aceleración por hardware, el video en alta definición (WebM), los gráficos 3D, el guardado de información estando desconectado, las tipografías profesionales, las interfases touchscreen y la API de audio de Mozilla que ayuda a crear experiencias visuales para el sonido y mucho más.
Firefox 4 mejora las herramientas ya existentes como CSS, Canvas y SVG para permitir a los desarrolladores crear apasionantes páginas Web.
Firefox provee una navegación ininterrumpida cuando hay un cuelgue de los plugins de Adobe Flash, Apple Quicktime o Microsoft Silverlight. Si uno de estos plugins se cuelga o se congela, no afectará al resto de Firefox. Simplemente recarga la página para reiniciar el plugin.
10 marzo, 2011 0:14 :: willyaranda
El fin de la espera de Firefox 4 está llegando. Firefox 4 ha dejado de ser versión beta para convertirse en versión candidata (Release Candidate), eso quiere decir que, si no se encuentra ningún fallo importante, esta versión puede ser la misma que la versión final.
Por si no lo sabes, hemos realizado una serie de artículos especiales para este lanzamiento de Firefox 4, que puedes consultar para ver todo lo que se ha cambiado desde la versión 3.6 y ver tanto el trabajo interno, como de apariencia.
De forma simultánea, se produce la publicación de “Demo Studio” un lugar donde los desarrolladores web pueden aprender y mostrar las nuevas maravillas tecnológicaque tecnologías como HTML5, CSS3 o JavaScript nos facilitan y que Firefox 4 sabe aprovechar a la perfección.
Firefox 4, cada vez más cerca… anímate a probarlo.
4 marzo, 2011 14:33 :: Sergio Andrés
estándares firefox4 html5 mozilla labs proyecto de aplicaciones web
Hace apenas unas horas les contábamos del lanzamiento de la Web maravillosa (…mente abierta) de Mozilla, un sitio que sirve como antesala del inminente lanzamiento de la versión final de Firefox 4. Ahora, los chicos de Mozilla Labs nos traen otro proyecto, que también viene acompañado de todos los estándares que Mozilla respeta y que están muy presentes en Firefox 4.
3 marzo, 2011 22:51 :: deimidis
destacado firefox4 web o wonder
Anticipando el lanzamiento de Firefox 4, Mozilla presentó una galería de ejemplos que utilizan las nuevas tecnologías disponibles a partir de HTML5, CSS3 y WebGL para demostrar qué es posible hacer en la Web. Los ejemplos están divididos por categorías y se irán sumando más con el paso de los días.
24 febrero, 2011 7:00 :: willyaranda
especialfx4 firefox firefox4 html5 video
(En primer lugar, las últimas semanas han sido duras con exámenes y con vacaciones y además preparando documentación, webs y demás para la salida de Firefox 4, por eso no ha habido noticias para el especial. Pero quedan pocas noticias hasta ver Firefox 4
)
Probablemente Firefox 4 sea el mayor y mejor salto en la historia del desarrollo de Firefox para los programadores web. Nuevas características imporantes, como mayor soporte para HTML5, facilidad de embeber en páginas imágenes SVG de una forma mucho más fácil, y varias herramientas integradas en Firefox hacen que desarrollar páginas web increíbles sea más alucinante que nunca.
En primer lugar, recordar que HTML5 es un estándar cambiante, no está totalmente estandarizado y estable, por lo que puede que haya cosas que hoy funcionen con una sintáxis que dejará de funcionar en meses porque se ha cambiado el estándar.
Para los que no lo sepan, HTML es el lenguaje con la que están hechas todas las páginas web que vemos. Si tienes más curiosidad, pulsa Control+U o Cmd+U (si estás en Mac) para ver de lo que hablo. Ese lenguaje de etiquetas ha evolucionado muchísimo en los últimos años gracias al auge de la web y las nuevas prestaciones de equipos y navegadores.
HTML5 es, sin duda alguna, el mayor y mejor cambio a la web jamás visto desde su creación, ya que implementa diferentes características que lo hacen realmente increíble junto a otras tecnologías complementarias, pero que se las da en llamar a todas ellas HTML5: geolocalización, canvas, SVG en línea, formularios con validación, WebGL, WebWorkers, recursos offline y bases de datos…
Por ejemplo, los formularios HTML5 es un gran progreso en cuanto a los formularios usados en muchísimas páginas web, debido a que ahora se autovalidan si se programan correctamente (indicando qué es lo que queremos que haya dentro, por ejemplo correos, teléfonos…), y devuelven valores de error si no superan dicha validación.
SVG, las imágenes vectoriales, ahora pueden ser incrustadas fácilmente en el código fuente de las páginas, sin añadir namespaces raros o escribiendo etiquetas sin sentido, simplemente se añaden como si fuera una imagen más.
La geolocalización y canvas están disponibles desde varias versiones atrás de Firefox, pero ahora el rendimiento ha mejorado mucho, gracias sobre todo a la aceleración por hardware de las diferentes capas (layers) con las que se renderizan ahora las páginas web.
CSS3 es la nueva versión de estilos para las páginas web. Tras el CSS original y las siguiente versiones como 2 y 2.1, la nueva versión 3 trae nuevas características como las transformaciones y transiciones, que permitirán crear “animaciones” con imágenes o elementos de una forma simple y rápida, sin usar imágenes en movimiento (mayormente GIF o APNG).
El audio en Firefox 4 implementa lo mismo que en las versiones anteriores, y el códec usado es WAV (formato RAW) y Vorbis, mientras que en vídeo hablamos de grandes mejoras y cambios.
Mientras que en Firefox 3.5 y 3.6 se podía usar el formato OGG/Theora, que era el códec de vídeo libre de patentes mejor en ese momento, en Firefox 4 se va a utilizar también el formato WebM, totalmente libre de patentes, y que tiene un rendimiento similar al omnipresente privativo H264.
Este nuevo códec tiene un amplio uso en páginas muy usadas, como en YouTube, y además, el códec va a ser el único usado en otros navegadores que quieren una web libre y estándar, como Google Chrome y Ópera.
Estas nuevas características están disponibles en Firefox en cuanto salga la versión 4, pero ya están disponibles en otros navegadores (Ópera, Safari y Chrome básicamente), por lo que pueden ser usadas sin probelmas para mejorar la web y crear páginas increíbles que eran imposibles incluso de pensar hace sólo meses.
Juega, crea y diviértete. El futuro está cerca.
4 febrero, 2011 0:16 :: Gloria Meneses
desarrollo ECMAScript firefox4
Continuando con los tipos de fallos, tenemos un segundo caso, se presenta cuando el modo estricto realiza asignaciones las cuales podrían de otra forma fallar silenciosamente lanzando una excepción. Por ejemplo, NaN no es una variables global de escritura. En el código normal una asignación a NaN no haría nada; el desarrollador no recibe notificación de fallos. En modo estricto una asignación a NaN lanza una excepción. Alguna asignación que silenciosamente falle en código normal lanzará una excepción si se encontrara escrita en modo estricto:
“use strict”;
NaN = 42; // lanza un TypeError
var obj = { get x() { return 17; } };
obj.x = 5; // lanza un TypeError
var fixed = {};
Object.preventExtensions(fixed);
fixed.newProp = “ohai”; // lanza un TypeError
Tercero, si tratas de eliminar propiedades no eliminables, el modo estrícto lanza un error (pero antes de intentarlo podría simplemente no tener efecto):
“use strict”;
delete Object.prototype; // lanza un TypeError
Cuarto, el modo estricto requiere que todas la propiedades nombradas en un objeto literal sean únicas. En el código normal se podría duplicar los nombres de propiedades, con el último valor determinado para la propiedad. Pero desde que el último no modifique nada, la duplicación no es más que un vector de errores, si el código modifica el valor de la propiedad por otro que cambie el valor de la última instancia, duplicar nombres de propiedades es un error de sintaxis en el modo estricto:
“use strict”;
var o = { p: 1, p: 2 }; // !!! error de sintaxis
Quinto, el modo estricto requiere que los nombres de los argumentos de las funciones sean únicos. En el código normal el último argumento duplicado esconde los últimos argumentos con el mismo nombre. Estos argumentos están disponibles por medio de arguments[i], por lo tanto no son completamente inaccesibles. Sin embargo, esconder errores tiene poco sentido y es probablemente algo indeseable (esto podría , por ejemplo, ocultar un error), pero en el modo estricto duplicar nombres de argumentos es un error de sintaxis:
function sum(a, a, c) // !!! error de sintaxis
{
“use strict”;
return a + b + c; // Error si este código corre
}
Sexto, el modo estricto prohíbe la sintaxis octal. La sintaxis octal no hace parte de ECMAScript, pero es soportada por todos los navegadores poniendo como prefijo un cero al número octal: 0644 === 420 and “�45″ === “%”. Los desarrolladores novatos algunas veces creen que adicionar un cero como prefijo no tiene significado semántico, entonces lo utilizan para alinear los números en su código fuente. — Pero esto cambia el significado del número! La sintaxis octal raramente es usada y puede ser erróneamente utilizada, en este caso el modo estricto crea un error de sintaxis en el octal:
“use strict”;
var sum = 015 + // !!! error de sintaxis
197 +
142;
Fuente: Mozilla Hacks.
Segundo, el modo estrícto realiza asignaciones las cuales podrían de otra forma fallar sileciosamente lanzando una excepción. Por ejemplo, NaN no es una variables global de escritura. En el código normal una asignación a NaN no haría nada; el desarrollador no recibe notificación de fallos. En modo estrćto una asignación a NaN lanza una excepción. Alguna asignación que silenciosamente falle en códogo normal lanzará una excepción si se encontrata escrita en modo estricto:
“use strict”;
NaN = 42; // lanza un TypeError
var obj = { get x() { return 17; } };
obj.x = 5; // lanza un TypeError
var fixed = {};
Object.preventExtensions(fixed);
fixed.newProp = “ohai”; // lanza un TypeError
Tercero, Si tratas de eliminar propiedades no eliminables, el modo estrícto lanza un error (pero antes de intentarlo podría simplemente no tener efecto):
“use strict”;
delete Object.prototype; // lanza un TypeError
Cuarto, el modo estricto requiere que todas la propiedades nombradas en un objeto literal sean únicas. En el código normal se podría duplicar los nombres de propiedades, con el último valor determinado para la propiedad. Pero desde que el último no modifique nada, la duplicación no es más que un vector de errores, si el código modifica el valor de la propiedad por otro que cambie el valor de la última instancia, duplicar nombres de propiedades es un error de sintaxis en el modo estrícto:
“use strict”;
var o = { p: 1, p: 2 }; // !!! error de sintaxis
Quinto, el modo estrícto requiere que los nombres de los argumentos de las funciones sean únicos. En el código normal el último argumento duplicado esconde los últimos argumentos con el mismo nombre. Estos argumentos están disponibles por medio de arguments[i], por lo tanto no son completamente inaccesibles. Sin embargo, esconder errores tiene poco sentido y es probablemente algo indeseable (esto podría , por ejemplo, ocultar un error), pero en el modo estricto duplicar nombres de argumentos es un error de sintaxis:
function sum(a, a, c) // !!! error de sintaxis
{
“use strict”;
return a + b + c; // Error si este código corre
}
Sexto, el modo estricto prohíbe la sintáxis octal. La sintáxis octal no hace parte de ECMAScript, pero es soportada por todos los navegadores poniendo como prefijo un cero al número octal: 0644 === 420 and “�45″ === “%”. Los desarrolladores novatos algunas veces creen que adicionar un cero como prefijo no tiene significado semántico, entonces lo utilizan para alinear los números en su código fuente. — Pero esto cambia el significado del número! La sintaxis octal raramente es usada y puede ser erroneamente utilizada, en este caso el modo estricto crea un error de sintaxis en el octal:
“use strict”;
var sum = 015 + // !!! error de sintaxis
197 +
142;
Fuente: Mozilla Hacks.
1 febrero, 2011 0:42 :: Hugo
ECMAScript 5 es una especificación de lenguaje publicada por ECMA Internacional, se basó en el lenguaje JavaScript propuesto en su momento por Netscape Communications Corporation para su estandarización, trabajo que se realizó sobre la especificación ECMA-262.
Los desarrolladores de la comunidad Mozilla han hecho importantes mejoras en el motor de JavaScript para Firefox 4. Habiendo dedicado gran parte de su esfuerzo en mejorar el rendimiento, pero también han trabajado sobre las nuevas funciones. Centrando especialmente su atención en ECMAScript 5, la última actualización de la norma subyacente JavaScript.
El modo estricto es una manera de optar por una variante restringida de JavaScript. Además de ser un subconjunto, cuenta con una semántica diferente. Los navegadores que no admitan el modo estricto por lo tanto ejecutarán este código de forma diferente a los navegadores que sí lo admiten.
El código en modo estricto y el código en modo no estricto pueden coexistir, por lo que los scripts pueden ser modificados a código estricto en forma incremental. El modo estricto abre un camino para el futuro de las ediciones de ECMAScript, donde el nuevo código con un <script type=”…”> particular, probablemente pueda ejecutarse en modo estricto de forma automática.
¿Qué hace el modo estricto? En primer lugar, elimina las alarmas de error de JavaScript que no causaron errores y las cambia para que se produzca un error. En segundo lugar, arregla errores que pueden ser difíciles para los motores de JavaScript y así mejorar su desempeño: el código en modo estricto puede a veces estar hecho para ejecutarse más rápido que un código idéntico que no se encuentre escrito en modo estricto. Firefox 4 en general no ha optimizado el modo estricto, sin embargo, las versiones posteriores lo tendrán. Tercero, se prohíbe que se defina una posible sintaxis en futuras versiones de ECMAScript.
El modo estricto aplica para un script completo o para funciones individuales. Esto no aplica para bloques de sentencias encerradas entre llaves {}; Tratar de aplicarlos a dicho contexto no haría nada. El código eval, manejador de atributos de eventos, las cadenas pasan a setTimeout, y son similares las secuencias de comandos completa, y la innovación en modo estricto en ellos, funciona como se espera.
Para invocar el modo estricto en un script completo, ponga exactamente la sentencia “use strict”; (o ‘use strict’;) antes de cualquier otra sentencia.
// Whole-script strict mode syntax
“use strict”;
var v = “Hi! I’m a strict mode script!”;
Esta sintáxis tiene una trampa en la que ha caído un sitio importante: no es posible concatenar a ciegas scripts no conflictivos. Considere concatenar un script de modo estricto con un script de modo no estricto: la concatenacion completa parecería estricta. Al contrario también se cumple: un script no estricto con uno estricto parecería no estricto. La concatenación de un script en modo estricto con otro esta bien, y la concatenación de scripts en modo no estricto está bien. Solamente el cruce de flujos por concatenación de scripts en modo estricto y no estricto presenta problemas.
Del mismo modo, para invocar el modo estricto en una función, use exactamen la sentencia “use strict”; (o ‘use strict’;) en el cuerpo de la función antes de las otras sentencias
function strict()
{
// Function-level strict mode syntax
‘use strict’;
function nested() { return “And so am I!”; }
return “Hi! I’m a strict mode function! ” + nested();
}
function notStrict() { return “I’m not strict.”; }
El modo estricto cambia ambas cosas, sintaxis y ambiente de ejecución. Los cambios generalmente caen dentro de estas categorías: cambios en la conversión de errores en errores (como errores de sintaxis o en tiempos de ejecución), cambios en la simplificación sobre cómo una variable en particular para el uso de un nombre se calcula, cambios en la evaluación de la simplificación y argumentos, cambios que hacen más fácil el escribir un JavaScript “seguro”, y cambios que anticipan una futura evolución de ECMAScript.
El modo estricto cambia fallas previamente aceptadas a errores. JavaScript fue diseñado para ser fácil para los desarrolladores novatos, y algunas veces ofrece operaciones que pueden cambiar algunas fallas aceptadas previamente en los errores. A veces también muestra las operaciones que deben ser los errores de semántica de no-error. En algunas ocasiones esto soluciona el problema inmediato, pero en otras crea problemas peores en el futuro. El modo estricto trata estos errores para que sean ubicados y corregidos rápidamente.
En primer lugar, el modo estricto no permite crear accidentalmente variables globales. En JavaScript es normal escribir mal una variable en una misión, crea una nueva propiedad en el objeto global y continúa el “trabajo” (aunque el fracaso futuro es posible: es probable, en la actual JavaScript). Un ejemplo de asignaciones que accidentalmente crea variables globales en lugar de lanzar en modo estricto podría ser el siguiente:
“use strict”;
mistypedVaraible = 17; // lanza un ReferenceError
Fuente: Mozilla Hacks.