Pergunta

O que é mais rápido,

  1. Usando um pedido XMLHTTP Get e de usar eval () para a reponsetext

  2. Usando a técnica JSONP para carregar um script e, em seguida, evaling o innerHTML do script.

  3. dinamicamente adicionando uma tag script na cabeça de um documento onde o objeto javascript está sendo atribuído a uma variável?

Meu instinto me diz que esta deve ser a opção 3, mas eu não sei como eval compara com o uso de uma marca de script. Quaisquer pensamentos?

Foi útil?

Solução 3

Eu concordo biblioteca JSON2 é provavelmente o caminho a percorrer para eval () 'ing. Mas para o transporte, parece que o mecanismo JSONP é mais rápido que XMLHTTPRequest por alguma análise que John Resig fez.

http://ejohn.org/blog/native-json- apoio-é-required /

Outras dicas

É possível variar com base no navegador e alguns outros fatores então eu acho que se você realmente quer o melhor desempenho você deve fazer alguns testes e perfil deles. Por um lado, eval () o desempenho pode variar enormemente dependendo do que você está eval () 'ing

Você deve apenas utilizar a JSON2 biblioteca para análise dados JSON, como a utilização de eval não é seguro (usando resultados eval em um grande número de potenciais exploits local), ele é lento (especialmente no mais recente jitting motores JS) e, finalmente (e mais importante) o objeto JSON fornecido pela biblioteca JSON2 é tornando-se parte do script ECMA (eg. javascript) padrão, o que significa que os navegadores estão agora a implementar a análise JSON (e stringification) nativamente resultando em muito melhor desempenho.

Felizmente, se você usar a biblioteca JSON2 ele detecta a existência de uma implementação nativa do objeto JSON e não substituí-lo, então apenas arbitrariamente usando ele vai te dar uma implementação segura de que irá magicamente se tornar mais rápido, como o suporte ao navegador melhora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top