Mengenai objek kamus skrip, menurut saya MS awalnya meminjam dari bahasa skrip dinamis seperti Python, dan dikembangkan untuk klien. Untuk poin ini, Anda dapat merujuk ke halaman 137 dari Manual Referensi Pemrogram ASP wrox. Menyimpan objek kamus di tingkat sesi akan mengurangi kinerja sistem, sedangkan menyimpan objek kamus di tingkat aplikasi akan menyebabkan server web mogok.
Sekarang kita harus mempertimbangkan kelemahan desain apa yang ada ketika objek kamus berada pada satu halaman:
Anda dapat mencoba ini
set rs=server.createobject(adodb.recordset)
sql=pilih * dari tabel
rs.open sql,sambungan,1,3
set ttt=server.buat objek(scripting.kamus)
ttt.tambahkan xxx,rs(bidang)
atur rs=tidak ada
liu=ttt(xxx) 'Apa yang akan kamu temukan ketika kamu melakukan ini? Halaman asp akan memberitahu Anda bahwa telah terjadi kecelakaan! ! ! Ini sangat mengejutkan. Apa itu kecelakaan? Sulit untuk mengatakannya. Kemudian, setelah pengujian berulang kali, saya menemukan bahwa itu karena nilai rs(field) tidak dapat langsung diberikan ke objek kamus. Setelah penelitian berulang kali, saya sampai pada kesimpulan berikut: kamus menyimpan alamat memori dari rs(field). Dalam hal ini, apa yang baru saja saya tulis tidak diragukan lagi adalah bencana. Solusinya adalah dengan memasukkan rs (field) ini ke dalam variabel. Ini pertanyaan besar, jadi saya menulis program ini lagi. Anda dapat menyimpannya sebagai try.htm untuk melihat efeknya.
<bahasa skrip='vbscript'>
set ttt=buat objek(scripting.kamus)
ttt.tambahkan liu,uuu
set ddd=buat objek(scripting.kamus)
ddd.tambahkan ppp,ttt
setttt=tidak ada
bbb=ddd(ppp)(liu)
waspada (bbb)
</skrip>
Apa hasilnya? Anda akan menemukan bahwa tidak ada masalah dengan deskripsi peringatan uuu. Ini berarti bahwa objek kamus sebenarnya menggantikan yang lain
Seluruh tiruan dari objek kamus masuk, yang selanjutnya memverifikasi apa yang tertulis di buku wrox bahwa objek kamus digunakan ketika ms dikembangkan.
Ini sebenarnya untuk klien, itulah yang saya katakan.
Saya juga dapat menunjukkan kepada Anda kode untuk menggabungkan array dan kamus.
<bahasa skrip='vbscript'>
saya=1
nama foto=(xxx)
str=set & pic_ & i & =buat objek( & & scripting.kamus & & )
mengeksekusi(str)
str=gambar_ & i & .tambahkan & & namagambar & & , & & namagambar &
mengeksekusi(str)
redup()
redimttt(5)
ttt(0)=uuu
pic_1.tambahkan item,ttt
liu=gambar_1(nama gambar)
setel pic_2=buat objek(scripting.kamus)
hapus
redimttt(5)
ttt(0)=iii
nnn=gambar_1(barang)(0)
pic_2.tambahkan rrr,ttt
zzz=gambar_2(rrr)(0)
waspada (liu)
waspada (nnn)
waspada (zzz)
</skrip>