Я понимаю использование (одного) знака доллара в популярных библиотеках JavaScript, таких как jQuery и Prototype. Я также понимаю значение знака двойного доллара в PHP (переменные переменные). Дин Эдвардс использует знак двойного доллара в своей знаменитой функции JavaScript addEvent(). Вот за исключением того, что используется знак двойного доллара:
function addEvent(element, type, handler) {
// assign each event handler a unique ID
if (!handler.$$guid) handler.$$guid = addEvent.guid++;
// create a hash table of event types for the element
if (!element.events) element.events = {};
// create a hash table of event handlers for each element/event pair
var handlers = element.events[type];
if (!handlers) {
handlers = element.events[type] = {};
// store the existing event handler (if there is one)
if (element["on" + type]) {
handlers[0] = element["on" + type];
}
}
// store the event handler in the hash table
handlers[handler.$$guid] = handler;
// assign a global event handler to do all the work
element["on" + type] = handleEvent;
};
// a counter used to create unique IDs
addEvent.guid = 1;
Из того, что я прочитал, знак доллара только официально имеет значение в JavaScript для инструментов генерации кода, хотя этот стандарт в значительной степени игнорируется сегодня из-за широко распространенного использования знаков доллара в вышеупомянутых библиотеках JavaScript.
Может ли кто-нибудь пролить свет на это использование знака двойного доллара в JavaScript?
Большое спасибо!