Welche (JavaScript) Umgebungen Unterstützung ECMAscript 5 Strict-Modus? (Auch bekannt als „use strict“)

StackOverflow https://stackoverflow.com/questions/1423889

Frage

ECMAScript 5 ist in seiner endgültigen Entwurf als ich dies schreibe; Es ist aufgrund eines strikten Modus aufzunehmen, die Sie auf das globale Objekt aus der Zuordnung mit eval verhindert, und anderen Einschränkungen. ( John Resig Artikel ist eine gute Einführung.)

Dieser magische geistige Gesundheit Sparmodus, indem Sie die Zeichenfolge „use strict“ am Anfang der Datei (oder Funktion). Jedoch ausgelöst wird, in älteren Umgebungen, „use strict“ ist ein No-op. Wenn Sie „use strict“ hinzufügen und testet es nicht in einer strengen Umgebung, können Sie eine Zeitbombe von nicht-wirklich-strengem Code verlassen, das bricht, wenn es wirklich eine strenge Umgebung trifft.

Welche tatsächlich respektieren "use strict"?

Umgebungen
War es hilfreich?

Lösung

Aktualisieren :

Sehen Sie meine Kompatibilitätstabelle .

Original Antwort :

Kein ab jetzt.

Raphael Speyer war Arbeiten an Mozilla-Implementierung für Rhino in diesem Sommer und afaik, dessenderen Umsetzung ist ziemlich nah dran bis zur Fertigstellung.

Ich weiß (basierend auf Informationen aus der Liste ES-Diskussion), dass Microsoft einige von ES5 plant Features in kommenden Versionen von IE zu schließen und sie könnten sehr gut auf den strikten Modus Umsetzung jetzt arbeiten (wie Sie wahrscheinlich wissen, IE8 enthält bereits einige ES5 Features, wie Object.defineProperty).

Es gibt auch Googles Caja Projekt die etwas Verhalten von Strict-Modus in einigen emuliert von seine Variationen (valija, Cajita, etc).

Crockford hinzugefügt kürzlich auch diese Option, um JSLint , aber ich bin nicht sicher, ob es tatsächlich keine zusätzliche Validierungen auslöst (nach ES5-strengen Regeln).

Andere Tipps

Jetzt, wo es tatsächlich freigegeben ist, Firefox 4 ist der Gewinner des „ersten Browser-ES5 Strict-Modus zu unterstützen.“ Jetzt können Sie starten Sie es, so lange wie Sie testen in Firefox 4.


Safari 5.1+ und Chrome 13+ Auch Strict-Modus unterstützen.


Die erste ist in: Besen . Implementiert in Delphi. Ich denke, es ist Stand-alone, aber ich bin mir nicht sicher. Aber es tut Strict-Modus unterstützen.

Gefunden über diese Kompatibilitätstabelle .


Jurassic behauptet ES5 Strict-Modus zu unterstützen.

ECMAscript 5 Strict-Modus erfordert diese Versionen für die wichtigsten Browser (oder höher):

Chrome 13.0
Safari 5.1
Firefox 4.0
Internet Explorer 10.0
Opera 11.6

Nein, IE9 nicht streng Unterstützung hat, es ist neu in Version 10 oder höher.

Opera 11.60 bereits unterstützt ECMAScript 5.1 und es ist Strict-Modus Variation. Siehe @kangax Kompatibilitätstabelle.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top