Что такое поддержка кросс-браузера для новых функций 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, это также означает, что мы не можем даже сбой изящно, но мы просто создадим синтаксические ошибки в этих браузерах, когда мы будем использовать какие-либо новые ключевые слова или синтаксис.

  • Django: рендеринг staticfiles через механизм шаблонов во время развертывания
  • сэндвич-шаблон в javascript-коде
  • Данные POST в файл CGI с использованием XMLHttpRequest приводят к тому, что BadHeader
  • Как установить режим React в производственный режим при использовании Gulp
  • Есть ли реализация JavaScript (ECMAScript), написанная на Python?
  • Проблемы с использованием scrapy с использованием javascript __doPostBack
  • Данные POST для скрипта CGI Python через jQuery AJAX
  • Решить перекрестный ресурс с использованием колбы
  • Firefox + Selenium в python: как интерактивно получить элемент html?
  • Понимание выполнения сценария async в Selenium
  • Как вы можете сделать кнопку прокрутки вверх, как в Stackoverflow?
  • Python - лучший язык программирования в мире.