var $ = (function() {
var keys = { a: 1, b: 2, c: "Bob" },
external_func = function (key, val) {
if (val === undefined) { return keys[key]; }
keys[key] = val;
extend(external_func, { key : val });
};
function extend (obj, keys) {
var key;
for (key in keys) {
if (keys.hasOwnProperty(key)) {
obj[key] = keys[key];
}
}
}
extend(external_func, keys);
external_func.setKey = function (key, val) { keys[key] = val; this[key] = val; };
return external_func;
}());
jQuery的不僅僅是這個大很多,但是這可能是你如何能建立一個保存鍵和值的系統爲例,你可以讀取函數調用或屬性。
例如,如果按鍵舉行的URL的所有查詢的崩潰,或持有該頁面的所有cookie,你可以這樣做:
曲奇(「登錄」); Cookie [「登錄」]; Cookie.username;
查詢(「page_name」); 查詢[「page_name」]; Query.page_name;
除非您使用函數,使用函數附帶的setCookie
方法,或者僅針對支持本機getter和setters的瀏覽器,否則只需確保將其視爲只讀。
功能是JavaScript中的一等公民。他們可以擁有自己的屬性,功能和原型。 – Alex 2010-11-20 01:12:14