我了解(单个)美元符号在流行的 JavaScript 库(如 jQuery 和 Prototype)中的使用。我也明白PHP中双美元符号(变量)的意义。Dean Edwards 在他著名的addEvent() JavaScript 函数中使用了双美元符号。这是一个包含使用双美元符号的 except :
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 中双美元符号的这种用法?
非常感谢!