Was sind die Unterschiede zwischen der Javascript-Engine von Firefox und der V8 von Chrome?

7

Ich habe festgestellt, dass Chrome und Firefox unterschiedliche Zeit benötigen, um bestimmte Dinge zu rendern. Im Allgemeinen war Chrome schneller. Was sollte ich über beide (und auch über IE8 / 9, denke ich) wissen, wenn ich eine Javascript / jQuery-App erstelle?

Jason
quelle

Antworten:

5

Tatsächlich sind Spidermonkey (FF) und V8 (Chrome) in der Kern-Javascript-Engine-API sehr ähnlich, da beide versuchen, standardkonform zu sein. Der Hauptunterschied besteht darin, dass Spidermonkey dazu neigt, seiner API einige nette Extras hinzuzufügen, wenn sie der Meinung sind, dass dies erforderlich ist. All dies finden Sie im Mozilla Development Center (MDC) für JavaScript und sind gut dokumentiert, wenn es kein Standard ist. Nebenbei bemerkt suche ich persönlich im MDC als meine primäre Quelle nach der JavaScript-API.

Diese Geschichte ist für IE völlig anders. Während die meisten Kern-APIs wie Mathund gleich Stringsind, unterscheidet sich der IE stark in documentBezug auf das Objekt, und jede Manipulation darin würde ich balexandre zustimmen und sagen, dass jQuery einen sehr guten Job darin macht, dieses Chaos für Sie zu erledigen.

Das Letzte, was ich erwähnen werde, ist, dass jede Engine den JavaScript-Code anders verarbeitet (einige schneller, andere langsamer usw.), aber dies kann meistens als Black Box betrachtet werden und alles, worüber Sie sich Sorgen machen sollten, sind die Unterschiede in der APIs.

Mike
quelle
1

Wenn Sie eine jQuery-App schreiben , müssen Sie sich um nichts kümmern, während Sie sich zu einem Framework / einer Bibliothek entwickeln, das (heute) alles unter der Haube tut und (in zukünftigen Versionen) weiterhin tun wird.

Wenn Sie einfaches Javascript schreiben , dann ist alles ein Chaos :)

Sie müssen Ihre App nicht in einem Browser entwickeln, sondern in allen anderen Browsern testen und vereinfachen Dinge wie das Öffnen von Fenstern und das Behandeln von Ajax-Anrufen von Engine zu Engine ...

Also ... bitte zielen Sie weiter auf jQuery :) er wird das harte Zeug für dich tun;)

Balexandre
quelle