Bagi orang seperti saya yang pada awalnya tidak mempelajari JavaScript secara sistematis, perasaan pertama saat melihat benda itu adalah kegembiraan - saya tidak lagi harus menulis "elemen.style.xxx =..." berulang kali, saya hanya perlu
melihat salinan biasa ke clipboardprint?
dengan (elemen.gaya) {
xxx = ...;
yyy = ...;
...
}
dengan (elemen.gaya) {
xxx = ...;
yyy = ...;
...
}Tetapi sebagai bahasa yang ditafsirkan, JavaScript perlu menentukan xxx/yyy saat runtime. Untuk setiap nama (tidak hanya ditetapkan, tetapi juga variabel yang dibaca!), pertama-tama ia akan mencari properti objek dengan tanda kurung, lalu variabel lokal, dan terakhir variabel global. Sebelum popularitas mesin virtual JavaScript dan teknologi JIT, masalah kinerja seperti ini memerlukan perhatian besar.
Pendekatan yang benar adalah dengan membuat cache variabel lokal untuk element.style:
view plaincopy to clipboardprint?
vares = elemen.gaya;
es.xxx = ...;
es.yyy = ...;
...
var es = elemen.gaya;
es.xxx = ...;
es.yyy = ...;
...Ini tidak hanya mengurangi ukuran kode secara relatif, tetapi juga kinerjanya jauh lebih baik daripada element.style.xxx = ....