Pregunta

Estoy escribiendo jQuery para una página que es una lío complejo de muchos elementos DOM (No tengo control sobre esto).El navegador de destino principal es IE7, y me preocupa la velocidad de su motor JavaScript.Los guiones que ya he escrito tienen retrasos y se han ajustado su rendimiento lo mejor que he podido.

Podría escribir un script que sea sencillo de mantener y comprender, por ejemplo usando un único contains declaración.O puedo ayudar al motor reduciendo la búsqueda DOM a través de este HTML desordenado, lo que resulta en una mayor complejidad.

¿Debería preocuparme por la velocidad del motor JavaScript del navegador al escribir scripts jQuery?

¿Fue útil?

Solución

jQuery está escrito en JavaScript. Por lo que debe preocuparse por la velocidad del motor de JavaScript, ya que también afecta a la velocidad de su código de jQuery.

Hay un montón de trucos y consejos sobre cómo escribir código jQuery más eficiente. El principio fundamental es entender cómo funciona jQuery, cómo los selectores se traducen en las consultas que seleccionan los elementos del DOM y así sucesivamente.

Otros consejos

Trate de usar los métodos nativos de Javascript en lugar de los métodos de jQuery siempre que sea posible y por lo general notará una mejora substancial de la velocidad, especialmente en el IE. motor de JS de IE renderizado se SLLLOOOOWWW en comparación con otros navegadores no sucky .

Por ejemplo, tuve un script AJAX que estaba funcionando muy bien en FF / Safari pero corrí como la melaza congelados en el IE. Resulta que el desarrollador que escribió hace un uso intensivo de $ .Cada de jQuery () para obtener datos de un archivo JSON grande. He reescrito el guión de usar JS estándar para () bucles en su lugar, y corriendo un par de pruebas de velocidad en él después mostró que el uso de () era más de veinte veces más rápido.

Sí, pero no debe obsesionarse con ella:)

Contiene podría ser relativamente lenta, ya que no creo que el modelo de documento se indexa en modo alguno por lo que el texto aparece dentro de los elementos.

Sin embargo, no estoy seguro de que es aconsejable tratar de optimizar overengineer algo y por el bien optimizings. Ir para la cosa más simple que funciona, prueba, y luego optimizar si usted tiene un problema.

No me he encontrado con un solo caso en el que los beneficios de usar JQuery o un complemento (compatibilidad entre navegadores, funcionalidad enormemente útil) se vean superados por la disminución de la velocidad.Y a veces trabajo con páginas web bastante grandes.

De todos modos, la única manera de saberlo es probándolo.Escriba su código de la manera más sensata posible al principio.Si es demasiado lento, puedes intentar optimizarlo.

Optimización del recorrido DOM
http://www.learningjquery.com/2006/12/quick-tip-optimizing-dom-traversal

No, usted no debe preocuparse por ello, ya que no debería afectar a la forma de escribir código.

Es decir, siempre debe escribir eficiente Javascript, tanto porque es sólo una buena práctica, y porque para la mayoría de los sitios que no tienen idea de qué navegador ningún usuario en particular se está ejecutando, por lo que puede además suponer lo peor.

Si usted debe estar preocupado, pero por suerte, el equipo de jQuery es tan preocupados:

cambios recientes a jQuery Internos (Salida últimos dos diapositivas)

No más de optimizar, pero optimizar todo lo que necesita.

Si es lento, a continuación, que realmente no tienen más remedio que ir allí y ayuda a cabo jQuery. Pero entonces, si no es así, entonces ¿por qué preocuparse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top