Angenommen, Sie möchten tatsächlich JavaScript lernen, ist die beste Vorgehensweise folgende: Bevorzugen Sie das Testen durch Fehlen / Vorhandensein von Methoden und schreiben Sie Normalisierungsfunktionen. Ein total lahmes Beispiel, aber es trifft drei Prinzipien:
if(!document.getElementsByClassName){
document.getByClass = function(){ //look at all elements, check for class etc...
}
else { document.getByClass = document.getElementsByClassName }
- Schnüffeln Sie nicht im Browser.
- Sie können auch ein wenig von der DOM-Cruft entfernen, wenn Sie gehen. Der Zweck der DOM-API besteht darin, explizit zu sein und Ihren Karpaltunnel nicht zu schonen, wenn Sie nicht bemerkt haben, wie unglaublich flexibel JS ist. Der kaum eliminierende Faktor macht das Beispiel lahm.
- Zwischenspeichern einer neuen Funktion. Führen Sie den Methodentest nicht jedes Mal durch, wenn er aufgerufen wird.
Der Vorteil ist, dass Sie dem Browser-Sniffing niemals zu 100% vertrauen können und nie wissen, wann eine andere Bibliothek, mit der verknüpft wird, keine entsprechende Methode für Sie hinzugefügt hat.
Egal, ob Sie nur versuchen, Dinge zu erledigen oder mehr erfahren möchten, ich empfehle JQuery. Es macht einen knallharten Job, indem es die DOM-API-Cruft eliminiert und ein hohes Maß an plattformübergreifender Normalisierung aufrechterhält, aber es ist auch etwas, das Sie ein gutes Stück lernen können, wenn Sie unter der Haube lernen. Noch wichtiger ist, wenn Sie sich die Mühe machen, weiterhin Kern-JS zu lernen, wird es nicht wie so viele andere JS-Frameworks und -Bibliotheken nutzlos und Sie werden weiterhin davon profitieren, dass Sie Ihren JQuery-Junk mit Ihrem verrückten OOP-ish de-suppen können Kompetenzen.
Schauen Sie sich auch quirksmode.org an, um zu verstehen, warum Microsoft für alle IEs vor 9 an der JS-Front wirklich verachtet werden sollte, und um viele Details darüber zu erfahren, wie viel mit der proprietären DOM-API nicht stimmt, und um Vorschläge zur Umgehung zu finden.