Was die JavaScript-Kompatibilität betrifft, ist die Verwendung der Tool-Funktion von jQuery die einfachste Möglichkeit. Versuchen Sie, keine Funktionen wie ECMAScript zu verwenden, da viele Browser den Fehler „Funktion nicht gefunden“ melden. Nachfolgend sind einige JavaScript-Probleme aufgeführt, die während des Entwicklungsprozesses aufgetreten sind.
1. Die Parameterliste enthält mehrere Kommas.
Die Methode $.ajax({}) ist sehr vertraut, aber es gibt eine kleine Sache, die Sie im IE beachten sollten. Wenn Sie beim Zusammenfügen der Parameterliste am letzten Punkt ein Komma hinzufügen, ist dies der Fall Es besteht kein Zweifel, dass alle JS unter IE ungültig sind.
Der folgende Fehler wird beim Debuggen gemeldet:
Fehlende Kennung, Zeichenfolge oder Nummer
data: { S_Id: Subject_Id, level: $("#addKey").attr("lang"), --如果写上这个逗号,IE会报错,火狐谷歌正常。 },
2 str ; Der Unterschied zwischen var str=""
<script> var Str1; for (var i = 0; i < 3; i++) { Str1 += "xxx" } alert(Str1); var Str2 = ""; for (var i = 0; i < 3; i++) { Str2 += "xxx" } alert(Str2); </script>
Die beiden Ausgabeergebnisse sind wie folgt:
Das erste Mal:
Das zweite Mal:
Eine Variable ist undefiniert, wenn ihr bei der Definition kein Wert zugewiesen wird. Das Hinzufügen einer Zeichenfolge ist undefiniert + „die hinzuzufügende Zeichenfolge“. Wenn Sie einem HTML-Element wie diesem einen Wert zuweisen. Undefiniert wird ebenfalls angezeigt. Sie wissen, wie Sie darauf achten müssen.
3. Debuggen von JS im IE-Cache
Beim heutigen Debuggen habe ich festgestellt, dass der JS-Cache von IE8 sehr, sehr dominant ist. Das Aktualisieren und Leeren des Caches hat keine Auswirkung. Die Aktualisierung wird durchgeführt, bis die linke Maustaste fast kaputt ist, aber die Aktualisierung erfolgt immer noch nicht.
Lassen Sie uns nun über einen besonderen Trick sprechen, der darin besteht, bei der Einführung von JS am Ende new Date() hinzuzufügen. Auf diese Weise müssen Sie nicht so viel auffrischen.
4. Wenn die Variable vorhanden ist, rufen Sie
auf, wenn sie vorhanden ist. Wenn in JavaScript null, undefiniert, 0, „“ oder „false“ als Bedingungen für „if“ verwendet werden, werden sie als falsch betrachtet.
Wenn wir also für Variablen eine Variable var str = ""; auf diese Weise definieren, wird sie immer noch false zurückgeben.
//是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } //是否存在指定变量 function isExitsVariable(variableName) { try { if (typeof(variableName) == "undefined") { //alert("value is undefined"); return false; } else { //alert("value is true"); return true; } } catch(e) {} return false; }