Je tiefer die Position eines Kennungskenner in JavaScript ist, desto langsamer liest und schreibt es. Daher sind das Lesen und Schreiben lokaler Variablen in einer Funktion immer am schnellsten, während das Lesen und Schreiben globaler Variablen normalerweise am langsamsten ist. Eine gute Faustregel lautet: Wenn in einer Funktion mehr als einmal ein Kreuz-Scope-Wert verwiesen wird, dann speichern Sie ihn in einer lokalen Variablen.
Zum Beispiel:
Die Codekopie lautet wie folgt:
<!-Vor der Optimierung->
<script type = "text/javaScript">
Funktion initui () {
var bd = document.body,
links = document.getElementByTagName ("a"),
i = 0,
len = links.length;
während (i <len) {
Update (Links [i ++]);
}
document.getElementById ("go-btn"). onclick = function () {
Start();
}
bd.className = "active";
}
</script>
Diese Funktion bezieht sich dreimal auf ein Dokument, und das Dokument ist ein globales Objekt. Der Prozess der Suche nach dieser Variablen muss den gesamten Umfangsverbindung durchqueren, bis sie schließlich im globalen Variablenobjekt gefunden wird. Sie können die Leistungsauswirkungen reduzieren, indem Sie den Verweis auf die globale Variable in einer lokalen Variablen speichern und dann diese lokale Variable anstelle der globalen Variablen verwenden.
Zum Beispiel:
Die Codekopie lautet wie folgt:
<!-nach der Optimierung->
<script type = "text/javaScript">
Funktion initui () {
var doc = document,
bd = doc.body,
links = doc.getElementByTagName ("a"),
i = 0,
len = links.length;
während (i <len) {
Update (Links [i ++]);
}
doc.getElementById ("go-btn"). onclick = function () {
Start();
}
bd.className = "active";
}
</script>