Pour les gens comme moi qui n'ont pas appris JavaScript systématiquement au début, le premier sentiment quand j'ai vu le truc a été l'excitation - je n'ai plus besoin d'écrire "element.style.xxx = ..." à plusieurs reprises, j'ai seulement besoin de
visualiser copie en clair vers presse-papiers ?
avec (élément.style) {
xxx = ... ;
aaa = ...;
...
}
avec (élément.style) {
xxx = ... ;
aaa = ...;
...
}Mais en tant que langage interprété, JavaScript doit déterminer ce que signifie xxx/yyy au moment de l'exécution. Pour chaque nom (pas seulement attribué, mais aussi lu les variables !), il recherchera d'abord les propriétés de l'objet entre parenthèses, puis les variables locales et enfin les variables globales. Face à la popularité des machines virtuelles JavaScript et de la technologie JIT, ce type de problème de performances nécessite une grande attention.
L'approche correcte consiste à créer un cache de variables locales pour element.style :
afficher plaincopy vers clipboardprint ?
vares = élément.style;
es.xxx = ...;
es.aaa = ...;
...
var es = element.style;
es.xxx = ...;
es.aaa = ...;
...Cela réduit non seulement relativement la taille du code, mais fonctionne également bien mieux que element.style.xxx = ....