Pergunta

ECMAScript 5 está em sua última elaborar como eu escrevo isto; É devido a incluir um modo estrito, que impedirá que você atribuir ao objeto global, usando eval, e outras restrições. (Artigo João Resig é uma introdução boa.)

Este modo de economia de sanidade mágica é desencadeada por incluindo a string "use strict" no topo do seu arquivo (ou função). No entanto, em ambientes mais velhos, "use strict" é um não-op. Se você adicionar "use strict" e não testá-lo em um ambiente estrito, você poderia estar deixando uma bomba-relógio de código não-realmente-estrita que vai quebrar quando ele realmente bate um ambiente rigoroso.

Que ambientes realmente respeitar "use strict"?

Foi útil?

Solução

Atualizar :

Ver o meu tabela de compatibilidade .

resposta Original :

Nenhum partir de agora.

Raphael Speyer foi a trabalhar na implementação Mozilla para Rhino durante este verão, e afaik, a sua implementação é bastante próximo até a conclusão.

Eu sei que (com base em informações da lista ES-fórum) que a Microsoft está a planear incluir algumas das ES5 apresenta em futuras versões do IE e eles podem muito bem estar a trabalhar na implementação modo estrito agora (como você provavelmente sabe, o IE8 já inclui alguns dos ES5 apresenta, como Object.defineProperty).

Há também projeto Caja do Google, que pouco emula o comportamento de modo estrito em alguns dos suas variações (valija, cajita, etc).

Crockford também adicionou recentemente esta opção para JSLint , mas eu não tenho certeza se ele realmente gatilhos qualquer validação adicional (como por regras ES5-rígidos).

Outras dicas

Agora que está realmente lançado, Firefox 4 é o vencedor do "primeiro navegador a suportar ES5 Strict Mode." Agora você pode começar a usá-lo, contanto que você testar no Firefox 4.


Safari 5.1+ e Chrome 13+ também suporta o modo estrito.


O primeiro está em: Besen . Implementado em Delphi. Eu acho que é por si só-stand, mas eu não tenho certeza. Mas ele faz o modo estrito apoio.

este tabela compatibilidade.


Jurassic reivindicações para apoiar ES5 modo estrito.

ECMAscript 5 modo estrito requer estas versões para os principais navegadores (ou superior):

Chrome 13,0
Safari 5.1
Firefox 4.0
Internet Explorer 10,0
Opera 11.6

faz Não, IE9 não tem apoio estrito, que é novo para a versão 10 ou posterior.

Opera 11.60 suporta já totalmente ECMAScript 5.1 e é rigorosa variação modo. Veja tabela de compatibilidade @kangax.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top