Сообщение от 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.
|