Показать сообщение отдельно
  #19 (permalink)  
Старый 11.11.2009, 11:40
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от B~Vladi
я всегда буду писать, например
document.getElementById('id'); вместо $
Ну, можно просто ради сокращения записи сделать. В самом простом случае, даже не обёртку, как предлагал Kolyaj (хотя обёртка, конечно, будет более абстрактной), а просто ссылку (Исправляюсь: нельзя просто ссылку, потому что в во всех браузерах, кроме IE .getElementById должна быть вызвана в контексте document). Производительность будет та же. Если не быстрей. Теоретически, $ будет разрешена в глобальном объекте, а document.getElementById - это сначала надо разрешить "document", затем ещё обработать алгоритм для MemberExpression.Identifier, где тоже дополнительные действия делаются. Практически - надо проверить. Но, если отбросить "сферических коней в вакууме" с мизерным увеличением скоростей, то - это может быть просто удобно в виду короткой записи.

var $ = document.getElementById;
$('somId');


Но я не призывю просто ответил на высказывание, что $ обязательно должно быть медленнее. В случае же jQuery, конечно же, медленнее, но там уже специфика и более абстрактная обёртка.

P.S. хотя по стандарту, доллар предлагают использовать только для генераторов кода или для шаблонов, которые будут обработаны генераторами кода:

Сообщение от ECMA-262-3 7.6 Identifiers
This standard specifies one departure from the grammar given in the Unicode standard: The dollar sign ($)
and the underscore (_) are permitted anywhere in an identifier. The dollar sign is intended for use only in
mechanically generated code
.
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 11.11.2009 в 18:15.
Ответить с цитированием