Что такое поддержка кросс-браузера для новых функций JavaScript 1.7? В частности, понимание массива и утверждение «let»

https://developer.mozilla.org/en/New_in_JavaScript_1.7

Многие из этих новых функций заимствованы у Python и позволят создавать менее подробные приложения, что всегда хорошо. Сколько раз вы набирали

for (i = 0; i < arr.length; i++) { /* ... */ } 

для действительно простых операций? Разве это не будет проще:

 [/* ... */ for each (i in arr)] 

Я думаю, что краткость – замечательная вещь. В принципе, все это сводится к IE в конце концов.

Поддерживает ли IE эти новые функции? Как насчет других браузеров?

3 Solutions collect form web for “Что такое поддержка кросс-браузера для новых функций JavaScript 1.7? В частности, понимание массива и утверждение «let»”

Нет, когда они говорят «JavaScript», они подразумевают это буквально: движок ECMAScript, используемый Гекко. JScript и другие двигатели (AFAIK) не поддерживают эти функции.

EDIT: Согласно википедии , JavaScript 1.7 реализует ECMAScript «Редакция 3 плюс все усовершенствования JavaScript 1.6, а также генераторы Pythonic и массивы ([a * a for (a in iter)]), блокировать область с let, destructuring assign (var [a , Ь] = [1,2])». Таким образом, эти функции не являются частью ECMAScript.

Хотя этот вопрос немного устарел и отмечен «ответил» – я нашел его в Google, и приведенные ответы, возможно, неточны или, если нет, определенно неполны.

Очень важно отметить, что Javascript НЕ СТАНДАРТ. Кен правильно упомянул, что ECMAScript – это кросс-браузерный стандарт, который все браузеры стремятся соблюдать, но то, что он не уточнил, заключается в том, что Javascript НЕ является ECMAScript.

Чтобы сказать, что Javascript «реализует» ECMAScript означает, что Javascript включает ECMAScript, плюс его собственные собственные дополнительные функции без кросс-браузера. Для for each примера, представленного Николасом, является примером проприетарной функции, добавленной Mozilla, которая не имеет никакого стандарта и поэтому вряд ли будет принята другими браузерами.

Функции Javascript 1.7 и 1.8 полезны для разработки расширений в XUL, но никогда не должны использоваться для кросс-браузерной разработки – вот для чего нужны стандарты.

В дополнение к IE, который не поддерживает его, похоже, что браузеры на базе веб-браузера (Safari, Chrome), несмотря на то, что утверждают, что поддерживают JS 1.7 (фактически выполняют теги скриптов, объявленные как находящиеся в JS 1.7), фактически не поддерживают ни одну из этих функций, означает, что на данный момент JS 1.7 с его очень хорошими функциями ограничен только браузерами Geko.

И поскольку Webkit по-прежнему выполняет скрипты с тегами только как 1.7, это также означает, что мы не можем даже сбой изящно, но мы просто создадим синтаксические ошибки в этих браузерах, когда мы будем использовать какие-либо новые ключевые слова или синтаксис.

Python - лучший язык программирования в мире.