ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript_javascript で辞書オブジェクト (辞書) インスタンスを作成するヒント

JavaScript_javascript で辞書オブジェクト (辞書) インスタンスを作成するヒント

WBOY
WBOYオリジナル
2016-05-16 16:06:472148ブラウズ

JavaScript の場合、独自の Array オブジェクトは単なる配列であり、キーワードを介して保存されたデータにアクセスすることはできません。この問題を解決するための非常に優れた方法が jQuery ソース コードです。

コードをコピーします コードは次のとおりです:

function createCache() {
var キー = [];

関数キャッシュ(キー, 値) {
// ネイティブ プロトタイプとの衝突を避けるために (キー " ") を使用します
// プロパティ (問題 #157 を参照)
if (keys.push(key = " ") > Expr.cacheLength) {
// 最新のエントリのみを保持します
キャッシュを削除[keys.shift()];
}
Return (キャッシュ[キー] = 値);
}
キャッシュを返す;
}

上記のソース コードは、コンパイル結果のキャッシュを作成するためのもので、次のように呼び出されます。

コードをコピーします コードは次のとおりです:
var codecache = createCache();

ソース コードでは、キーを保存するためにキーが使用され、キーと値のペアを保存するためにキャッシュ オブジェクトが使用されます。キーの最大数はグローバル変数 Expr.cacheLength によって制御されます。この数を超えると、最初のキーとキー値は自動的に削除されます。

このコードはクロージャー構造を使用して外部コードがkeys変数にアクセスするのを防ぎ、keys変数のセキュリティを確保します。もちろん、JavaScript ステートメントの特性により、外部コードはキャッシュ属性を変更することでキーとキーと値のペアを不一致にする可能性があります。ただし、故意にいたずらをしない限り、これ自体はあまり問題になりません。

もちろん、主キー重複判定などの重要な機能を提供していないため、完全な辞書オブジェクトを宣言することはできません。興味のある方は改良してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。