我理解在流行的JavaScript庫(如jQuery和Prototype)中使用(單)美元符號。我也理解PHP中雙美元符號的意義(變量變量)。 Dean Edwards在他着名的addEvent() JavaScript函數中使用雙美元符號。下面是一個除包含使用雙美元符號:JavaScript雙美元符號
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中使用雙美元符號嗎?
非常感謝!
在我看來,這'addEvent'將泄漏就像在IE篩子。 – kangax 2009-09-23 04:32:09