Pregunta

Que es más rápido,

  1. Usando una solicitud de obtención XMLHTTP y luego usando eval () para el texto de respuesta

  2. Uso de la técnica JSONP para cargar un script y luego evaluar el HTML interno del script.

  3. ¿Agregar dinámicamente una etiqueta de secuencia de comandos al encabezado de un documento donde el objeto javascript se asigna a una variable?

Mi instinto me dice que esta debería ser la opción 3, pero no estoy seguro de cómo eval se compara con el uso de una etiqueta de script. ¿Alguna idea?

¿Fue útil?

Solución 3

Estoy de acuerdo en que la biblioteca JSON2 es probablemente el camino a seguir para evaluar () 'ing. Pero para el transporte, parece que el mecanismo JSONP es más rápido que XMLHTTPRequest según algunos análisis que John Resig ha hecho.

http://ejohn.org/blog/native-json- support-is-required /

Otros consejos

Podría variar según el navegador y algunos otros factores, por lo que creo que si realmente desea el mejor rendimiento, debe hacer algunas pruebas y perfilarlas. Por un lado, el rendimiento de eval () puede variar enormemente según lo que evalúe () '

Debería utilizar la biblioteca JSON2 para analizar json data, ya que el uso de eval no es seguro (el uso de <=> da como resultado una gran cantidad de posibles vulnerabilidades de seguridad del sitio), es lento (especialmente en los motores JS de jitting más nuevos) y finalmente (y más importante) el objeto JSON proporcionado por la biblioteca JSON2 se está convirtiendo en parte del estándar ecma script (por ejemplo, javascript), lo que significa que los navegadores ahora están implementando el análisis json (y la cadena) de forma nativa, lo que resulta en un rendimiento enormemente mejorado.

Afortunadamente, si usa la biblioteca JSON2, detecta la existencia de una implementación nativa del objeto JSON y no la anula, por lo que solo usarla arbitrariamente le dará una implementación segura que mágicamente será más rápida a medida que mejore el soporte del navegador.

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