über die Mängel von JavaScript
. Das Ärgerlichste an der Entwicklung ist der Javascript-Code. Deshalb werde ich heute über die Mängel von Javascript sprechen.
Lassen Sie uns zunächst über einige grundlegende Probleme sprechen.
1: Geringe Kompatibilität
. Es gibt viele Browser im WWW, z. B. Netscape Navigator, Mosaic und HotJava usw., aber jeder Browser unterstützt JavaScript in unterschiedlichem Maße. Browser, die JavaScript unterstützen, und Browser, die JavaScript nicht vollständig unterstützen, müssen durchsucht werden Ein Browser mit JavaScript-Skripten auf der Startseite weist eine gewisse Lücke im Effekt auf und wird manchmal möglicherweise nicht einmal angezeigt.
Daher müssen JavaScript-Entwickler häufig unterschiedliche Versionen für unterschiedliche Browser entwickeln. Die Arbeitsbelastung ist praktisch gestiegen und es handelt sich im Grunde nur um repetitive Arbeiten. Das wollen wir nicht sehen
2: Speicherverlust verursachen
JavaScript ist eine Speicherverwaltungssprache. Das bedeutet, dass JavaScript über integrierte Paketsammelfunktionen verfügt, sodass es Variablen extrahieren kann, die nicht mehr von Referenzpfaden verwendet werden, und den von diesen Variablen verwendeten Speicher neu zuweisen kann.
Dies ist als grundlegendes Arbeitsprinzip in Ordnung, aber aufgrund dieser Zirkelverweise, wenn Modellobjekte und Ansichtselemente aufeinander verweisen, können Sie sich nicht darauf verlassen, dass diese Funktion Ihre Speichernutzung optimiert. Im Prinzip gilt: Wenn das Objekt Null ist, ist das Element Null, aber wenn es Rückwärtsverweise von Elementen auf Objekte gibt, berührt der Paketsammler diese Objekte nicht.
Nun tritt das Problem auf: Im Dateiobjektmodell kann jeder DOM-Knoten im Dateibaum von anderen Elementen im Baum referenziert werden, unabhängig davon, ob er von anderen Objekten referenziert wird! Daher muss jedes im Paketsammler markierte Objekt, auf das von einem DOM-Knoten rückwärts verwiesen wird, in dieser Richtung leer sein, andernfalls bleibt sein Speicher im zugewiesenen Zustand. Tatsächlich ignorieren Programmierer dies oft. Aus diesem Grund vergrößert sich der Speicher vieler großer Webspiele nach dem Öffnen rasant.
3: Es gibt keine Unterstützung für Streaming-Medien
. Sie können nur die Methode zum Einbetten anderer Player verwenden.
Das ursprüngliche Designziel von Javascript besteht darin, „Webseiten in Bewegung zu setzen“. Dies ist gelungen und es gab einige Durchbrüche. Allerdings ist „bewegen“ nur „bewegen“, was nicht ausreicht. Wenn Javascript Rich Application gegenübersteht, ist es etwas machtlos.
Wenn Sie nun die Entwicklung von Javascript diskutieren möchten, sollten Sie sich nicht auf Javascript beschränken, sondern HTML (DHTML), DOM, Javascript und CSS gemeinsam betrachten. Betrachten Sie es aus der Perspektive einer Browseranwendung (entschuldigen Sie, dass ich das Wort „Browseranwendung“ erfunden habe).