1. Setzen Sie Ihr Urteilsvermögen geschickt ein:
In js ist NaN, undefiniert, Null, 0, „“ falsch, wenn es in bool konvertiert wird, daher kann es so geschrieben werden.
stellt dar, was ein Objekt tut, wenn es falsch ist, denn wenn obj eines der oben genannten ist, dann ist es falsch, !false ist wahr, daher besteht keine Notwendigkeit für if(obj==null || obj == NaN ....).
2. Operatoren geschickt einsetzen:
Es gibt einen ganz klassischen Trick, um den Zeitstempel zu erhalten.
Wir wissen, dass es sich bei js um eine schwach typisierte Sprache handelt. Die Verwendung dieser Zeichenfolge zum Ausführen arithmetischer Operationen führt zu einer Konvertierung, die den Zeitstempel des Ergebnisses darstellt.
3. Verwenden Sie reguläre Ausdrücke geschickt:
4. Ermitteln Sie den Maximal- und Minimalwert des Arrays:
5. Speicheroptimierung:
In JavaScript gibt es keinen Bereich und keine privaten Variablen auf Blockebene, aber durch die Verwendung einiger Funktionen können Sie diese Effekte simulieren.
7.1 Geltungsbereich auf Blockebene:
Der Vorteil davon besteht darin, dass auf die Variablen in der Funktion nicht außerhalb von () zugegriffen werden kann und sie zu einem Bereich auf Blockebene wird. Diese Methode wird im Allgemeinen beim Schreiben von Plug-Ins verwendet und fügt dem globalen keine zusätzlichen Variablen hinzu . Variablen, und nachdem die Funktion ausgeführt wurde, werden ihre intern definierten Variablen zerstört, sodass es kein Problem mit der Abschlussfunktion gibt.
7.2 Private Variablen:
Private Variablen verwenden tatsächlich den Funktionsumfang als Einschränkung (von außen nicht zugänglich) und definieren dann eine Methode, die die entsprechende Variable zurückgibt, und das war's.
8.DOM NodeList:
nodeList ist ein dynamisches Element. Wenn Sie also ein beliebiges Element zum Dokument hinzufügen, wird nodeList in Echtzeit aktualisiert, z. B.:
Dieser Code verursacht eine Endlosschleife, die dann von der appendChild-Methode zum Hauptteil hinzugefügt wird. Dann werden alle alldivs sofort aktualisiert, sodass i
var alldiv = document.getElementsByTagName('div');
var len,i;
for(i=0,len=alldiv.length;i
var div = document.createElement('div');
div.innerHTML= i.toString();
document.body.appendChild(div);
}
Hier ist ein Vorschlag: Es ist am besten, NodeList nicht häufig zu verwenden, da jede Operation eine Abfrage des DOM-Baums ausführt.
Zusätzlich zu den oben vorgestellten Methoden kann auch die neu hinzugefügte API (Selektor-API Level1) von HTML5 dieses Problem lösen. Es ähnelt der Linq-Echtzeitabfrage von C# Ich werde den Blog in Zukunft aktualisieren, also bleiben Sie dran :
querySelectorAll erfordert einen Parameter, einen CSS-Selektor, ähnlich wie $() in jquery. Die zurückgegebene NodeList ist eine zeitnahe, nicht dynamische DOM-Sammlung.
Es gibt auch einen querySelector, der das erste übereinstimmende Element zurückgibt. Einzelheiten zur HTML5-API finden Sie unter
http://www.w3.org/standards/techs/dom#w3c_all
oder
https://developer.mozilla.org/zh-CN/docs/Web/API
Darüber hinaus bereite ich auch einen Blog speziell zur HTML5-API vor, also bleiben Sie dran.
9.DOM-Leistung:
Tu so dumme Dinge nicht (ich habe es getan...)
Das Zuweisen eines Werts zum innerHTML des Objekts ruft den integrierten C-Parser auf, um die Zeichenfolge zu analysieren. Dies ist zwar sehr schnell, es ist jedoch besser, dies nicht zu tun, da dies zu einem gewissen Leistungsverlust führt.
Machen Sie besser Folgendes:
for(var i=0;i<10;i )
{
ih ="
Einige andere Themen zur Leistungsoptimierung werden aktualisiert, wenn Zeit ist.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.