Как стать автором
Обновить

Комментарии 40

А как быстро такие изменения вступают в силу, обычно?
Некоторые нововведения поддерживаются уже в IE8, Safari 4, Chrome 2, Opera 9.6 и в Firefox 3.5.
Ключевое слово — «некоторые».
Ключевое слово — уже сейчас.

Более того, можно уже сейчас писать согласно строгому режиму, не потеряв совместимости с ES3.
Интересно и когда же он начнется поддерживаться броузерами и wsh? -))
Думаю, через год. Самым непредсказзуемой является реализацию этого языка в IE, так как выходит он редко.
В IE8 есть реализация JSON.
Чем им так arguments.callee не угодил, было же удобно рекурсию анонимных функций делать или вообще использовать функцию, как объект, доступный по этой ссылке :-/
Видмо, для улучшения читаемости кода.
А уж как удобно было делать call stack через callee и caller…
не включать strict mode никто не запрещал: )
>Строгий режим ES5 жалуется на полностью другой набор
> потенциальных ошибок (тогда как существующий строгий
>режим Firefox пытается наблюдать за соблюдением некоторых
> хороших практик, но не более того).

Местами очень сильно напоминает native google translete ;)
Местами я не знал, как перевести близко к тексту и не так неудобоваримо )))
Строгий режим сейчас необходим Ecmascript как Маргарет Тетчер была нужна Великобритании в своё время.
Скажите это тем, кто пишет на Perl…

Лично я любой Perl-скрипт предваряю
use strict;
use warnings;
Вот объясните, будьте добры: причём тут Perl и как он относится к Ecmascript?
Разве вы не видите сходства ситуаций?

use strict в Perl стал путём к использованию ужасного скриптового языка в более серьёзных целях.

Здесь — то же самое.
в яваскрипт добавили поддержку javascript object notation… потрясно XDDDD

а стрикт так вообще убивает… %-\
Всегда считал что JSON итак поддерживается. Если скормить в eval Json-строку, то он вернет объект. Разве нет? Почему существуют специальные библиотеки парсинга? Что значить нативная поддержка? Объясните, пожалуйста.
Нативный == встроенный.
Библиотеки обеспечивают удобный интерфейс для работы, валидацию. Теперь все это будет встроено.
Поюсы: нативная валидация, нативные Array.toJSON() Object.toJSON() и т.п, прирост в скорости работы.
проблема с eval состоит только в том, что она способна принять не только JSON.

Фактически это означает дыру в безопасности при получении JSON из внешних источников.
Сравните eval("alert('xss')") и JSON.parse("alert('xss')").
спасибо, нашел быструю имплементацию trim. Может быть, ее стоит включить в YASS…
function trim12 (str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}
Нафига делать \s\s*? Просто \s+ сделать нельзя?

кроме того, кто мешает сделать просто str.replace(/^\s+/, '').replace(/\s+$/, '')
по ссылке 12 способов. Этот самый быстрый во всех браузерах :)
OMG :) Цикл быстрее регулярки, надо же!
да, while рулит :) хотя, я думаю, это какой-то косяк со стороны разработчиков браузеров :)
Да уж пожалуй. Кстати, интересно как поменяется таблица, если испытания проводить на IE8, Chromium2, FF3.5 и Opera 10a…
Мне кажется тут нет никакого косяка со стороны разработчиков браузеров :)
Дело в том, что регулярные выражения всегда обрабатывают строку начиная с ее начала, таким образом пока обработка дойдет до финальной серии пробельных символов будет проделано немало «работы»: когда встречается пробельный символ, то дальше набираются другие «пробелы» пока не встретится конец строки или непробельный символ. В первом случае будет «совпадение», во втором переход к поиску следующего пробельного символа. С точки зрения оптимизации было бы логично для данного выражения делать просмотр строки с конца, но так как регулярные этого не умеют (по крайней мере в JS — нет просмотра с конца), то быстрее будет проделать это «самому» перебирая символы с конца. Регулярные выражения основаны на конечных автоматах, и не имеют особых оптимизаций и частных случаев.
While имеет смысл для строк содержащих большое количество пробельных групп (один и более пробельный символ). Для пустых строк и строк содержащих только пробельные символы регулярное выражение может оказаться быстрее (если не брать в расчет проверку длины для случая пустой строки), так как перебор символов написанный не на JS будет значительно быстрее.
А зачем публиковать машинный перевод статьи? о_О
Если можете сделать лучше, сделайте :)

Критиковать проще, чем переводить.
Мне нравится читать качественный перевод, вот и все. И мне нравится хабр именно качественным контентом.

Резиг опубликовал статью 21 мая в 9 утра примерно. Вы извините, но ваш перевод соответствует 10 утра того же дня; )
А они живут в одних и тех же часовых поясах =)?

По сабжу, перевод нормальный, вполне читаемый. Главное другое, Javascript(ECMAscript) пожалуй мой самый любимый язык и приятно что он развивается. Очень много интересных и действительно полезных новшеств, одни изменения в объектах чего стоят…
Давайте попросим Резига кросспостить на хабр, че нам ломаный перевод читать: )
Если можете сделать лучше, — сделайте.

Если хотите, попробуйте машинный перевод и сравните с моим.

Я не профессиональный переводчик. Но я перевожу интересные материалы, а вы?
ок, сравнил случайно выбранную фразу:

ES5's strict mode complains about a completely different set of potential errors (whereas Firefox's existing strict mode tries to enforce some good practices, only). (с) J.Resig, subscribe post, 21.05.09

Строгий режим ES5 жалуется на полностью другой набор потенциальных ошибок (тогда как существующий строгий режим Firefox пытается наблюдать за соблюдением некоторых хороших практик, но не более того). (с)akzhan

ES5 в строгом режиме жалуется совершенно иной набор возможных ошибок (а Firefox существующих строгого режима пытается обеспечить хорошие практики, только). © Google translate

мой вариант перевода: ES5 в режиме strict mode указывает на совершенно иные потенциальные ошибки (FF в свою очередь ссылается на рекомендации написания хорошего кода)

-> Но я перевожу интересные материалы, а вы?
Я здесь далеко не самый активный юзер, но уважаю всех пользователей этого сообщества. Потому и высказался против перевода такого качества. Минусуйте на здоровье, я лишь пытаюсь быть объективным.
Любые исправления — приветствуются. Поправлю.

Судя по реакции большинства посетителей Хабра, всё же моя работа была принята положительно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории