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 ["logged-in"]; Cookie.username;
クエリ( "page_name"); クエリ["page_name"]; Query.page_name; ;
機能を使用するか、機能に添付されたsetCookie
メソッドを使用するか、ネイティブゲッターとセッターをサポートするブラウザーのみをターゲットにしている場合を除き、必ず読み取り専用として扱うようにしてください。
関数は、JavaScriptのファーストクラスの市民です。彼らは独自のプロパティ、関数、プロトタイプを持つことができます。 – Alex