Rumah  >  Artikel  >  hujung hadapan web  >  Buat contoh objek kamus (kamus) dalam petua JavaScript_javascript

Buat contoh objek kamus (kamus) dalam petua JavaScript_javascript

WBOY
WBOYasal
2016-05-16 16:06:472177semak imbas

Untuk JavaScript, objek Arraynya hanyalah tatasusunan dan tidak dapat menyediakan akses kepada data yang disimpan melalui kata kunci Kod sumber jQuery menyediakan cara yang sangat baik untuk menyelesaikan masalah ini. Lihat kod sumber dahulu

Salin kod Kod adalah seperti berikut:
fungsi createCache() {
kekunci var = [];
cache fungsi(kunci, nilai) {

// Gunakan (kunci " ") untuk mengelakkan perlanggaran dengan prototaip asli
// hartanah (lihat Isu #157)
if (keys.push(key = " ") > Expr.cacheLength) {
// Hanya simpan entri terbaharu
Padamkan cache[keys.shift()];
}
Pulangan (cache[key] = nilai);
}
kembalikan cache;
}

Kod sumber di atas adalah untuk mencipta cache hasil kompilasi Kod dipanggil seperti berikut:

Salin kod Kod adalah seperti berikut:
var codecache = createCache();

Dalam kod sumber, kunci digunakan untuk menyimpan kekunci, manakala objek cache digunakan untuk menyimpan pasangan nilai kunci, dan bilangan kunci maksimum dikawal melalui pembolehubah global Expr.cacheLength Jika jumlah ini melebihi kunci pertama dan nilai kunci akan dipadamkan secara automatik.

Kod ini menggunakan struktur penutupan untuk menghalang kod luaran daripada mengakses pembolehubah kunci, dengan itu memastikan keselamatan pembolehubah kunci. Sudah tentu, disebabkan oleh ciri-ciri pernyataan JavaScript, kod luaran masih boleh menjadikan kunci dan pasangan nilai kunci tidak sepadan dengan mengubah suai atribut cache. Walau bagaimanapun, selagi anda tidak sengaja membuat gurauan, ini sendiri tidak sepatutnya menjadi masalah.

Sudah tentu, ia tidak boleh mengisytiharkan objek kamus yang lengkap kerana ia tidak menyediakan fungsi utama seperti pertimbangan pendua kunci utama Rakan yang berminat boleh memperbaikinya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn