Um die Idee einer reibungslosen Verschlechterung, Abwärtskompatibilität und Markierungstrennung zu verwirklichen, sollten Sie jedes Mal, wenn Sie js-Code schreiben, als Erstes die erforderlichen Test- und Inspektionsarbeiten durchführen:
Fügen Sie zunächst zur Überprüfung den folgenden Code zur js-Datei hinzu:
window.onload = function(){ if(!document.getElementsByTagName) return false; if(!document.getElementById) return false; if(!document.getElementsByClassName) return false; if(!document.getElementById("selector")) return false; if(!document.getElementsByTagName("tag")) return false; if(!document.getElementsByClassName("selector")) return false; };
Universelle Wrapper-Funktion:
var $ = function(id){ return document.getElementBy Id (id); } var addEvent = function(obj,event,fn){ //obj:元素对象名字,event:绑定事件,fn:触发的回调函数 if(obj.addEventListener){ obj.addEventListener(event,fn,false); } else if(obj.attachEvent){ obj.attachEvent("on"+event,fn); } }
Für viele Funktionen, die das Laden und Ausführen von Seiten erfordern, lautet die Kapselungsmethode window.onload wie folgt:
function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != "function") { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } addLoadEvent(firstFunction); addLoadEvent(secondFunction);
JavaScript-Unterschiede zwischen Firefox und IE:
1. In den meisten Fällen kann die Rückgabe von „false“ für die Ereignishandlerfunktion das Standardereignisverhalten verhindern. Wenn Sie beispielsweise auf ein Element klicken, wird standardmäßig zu der Seite gesprungen, die durch das href-Attribut des Elements angegeben ist.
return false entspricht dem Terminator und return true entspricht dem Executor.
Eine Zusammenfassung der drei Szenarien der Rückgabeverwendung in js lautet wie folgt:
rerun true; Gibt das korrekte Verarbeitungsergebnis zurück.
false zurückgeben; das falsche Verarbeitungsergebnis zurückgeben; die Ausführung des Formulars verhindern;
return; Rückkehr zur Seite.
2. Meistens ist es eine gute Idee, einer Variablen einen Funktionsaufruf zuzuweisen.
3. Das Noscript-Tag kann in Browsern verwendet werden, die das Skript-Tag erkennen, aber das darin enthaltene Skript nicht unterstützen können. Wenn der Browser Scripting unterstützt, wird der Text im Noscript-Tag nicht angezeigt.
4. Beim dynamischen Festlegen von Stilen ist es am besten, wann immer möglich CSS zu verwenden. Am einfachsten ist es, die Methode zu wählen, die am einfachsten zu implementieren ist.
5. In einer Funktion werden globale Objekte als lokale Variablen gespeichert, um globale Suchvorgänge zu reduzieren, da der Zugriff auf lokale Variablen schneller ist als der Zugriff auf globale Variablen.
6. Wenn Sie auf Code abzielen, der ständig ausgeführt wird, sollten Sie nicht setTimeout, sondern setInterval verwenden, da setTimeout jedes Mal einen Timer initialisiert und setInterval nur zu Beginn einen Timer initialisiert.
7. Wenn Sie mehrere Zeichenfolgen verbinden möchten, sollten Sie = less verwenden und versuchen, beim Erstellen bedingter Verzweigungen ternäre Operatoren anstelle von bedingten Verzweigungen zu verwenden.
8. Tatsächlich wird parseInt() verwendet, um Zeichenfolgen in Zahlen umzuwandeln, nicht zwischen Gleitkommazahlen und ganzen Zahlen. .
9. In JavaScript können alle Variablen mit einer einzigen var-Anweisung deklariert werden, bei der es sich um eine Gruppe von Anweisungen handelt, um die Ausführungszeit des gesamten Skripts zu verkürzen.
10. Bei großen DOM-Änderungen ist die Verwendung von innerHTML viel schneller als die Verwendung von Standard-DOM-Methoden zum Erstellen derselben DOM-Struktur.
11. Wenn dasselbe Objekt die .onclick-Schreibmethode verwendet, um mehrere Methoden auszulösen, überschreibt die letztere Methode die vorherige Methode. Das heißt, wenn das Onclick-Ereignis des Objekts auftritt, wird nur die letzte Bindung ausgeführt . Methode. Beim Abhören von Ereignissen erfolgt kein Überschreiben und jedes gebundene Ereignis wird ausgeführt.
12. Wenn die toString()-Methode für die Typkonvertierung definiert ist, wird empfohlen, toString() explizit aufzurufen, da die interne Operation die toString()-Methode des Objekts ausprobiert, nachdem sie alle Möglichkeiten ausprobiert hat, um zu sehen, ob dies möglich ist in String konvertiert werden, sodass der direkte Aufruf dieser Methode effizienter ist.
13. Da elemet.style nur Inline-Stile abrufen kann, ist element.currentStyle.width eine Eigenschaft, die nur für den IE-Browser gilt, und getComputedStyle(element, null).width ist eine Eigenschaft, die nur für Firefox- und Chrome-Browser gilt, also der Reihe nach Kompatibel ist die Methode zum Erhalten interner und externer Stile wie folgt (zusammengesetzte Stile wie Hintergrund und Rahmen sind nicht zu empfehlen, sollten aber als Hintergrundfarbe und Grenzbreite geschrieben werden):
function getStyle(obj,name) { if(obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj,null)[name]; } }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.