Question

Ce qui est plus rapide,

  1. Utiliser une requête Get XMLHTTP et utiliser eval () pour le reponsetext

  2. Utilisation de la technique JSONP pour charger un script, puis évaluer le code innerHtml du script.

  3. Ajouter dynamiquement une balise de script à l'en-tête d'un document où l'objet javascript est attribué à une variable?

Mon instinct me dit que cela devrait être l'option 3, mais je ne suis pas sûr de savoir comment eval se compare à l'utilisation d'une balise de script. Des pensées?

Était-ce utile?

La solution 3

Je conviens que la bibliothèque JSON2 est probablement la solution idéale pour eval (). Mais pour le transport, il semble que le mécanisme JSONP soit plus rapide que XMLHTTPRequest d'après certaines analyses effectuées par John Resig.

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

Autres conseils

Cela peut varier en fonction du navigateur et de certains autres facteurs. Je pense donc que si vous voulez vraiment obtenir les meilleures performances, vous devez faire quelques tests et les profiler. Tout d’abord, les performances de eval () peuvent varier énormément en fonction de ce que vous êtes en train d’évaluer ()

Vous devez simplement utiliser la bibliothèque JSON2 pour analyser json data, car l'utilisation de eval n'est pas sûre (utiliser <=> entraîne de nombreux exploits de site potentiels), elle est lente (en particulier dans les nouveaux moteurs JS jitting), et enfin (et plus important encore) l'objet JSON fourni par la bibliothèque JSON2 est en train de devenir une partie intégrante de la norme ecma script (par exemple, javascript), ce qui signifie que les navigateurs implémentent désormais l'analyse syntaxique json (et la personnalisation) en natif, ce qui entraîne des performances considérablement améliorées.

Heureusement, si vous utilisez la bibliothèque JSON2, elle détecte l’existence d’une implémentation native de l’objet JSON et ne la remplace pas. Par conséquent, son utilisation arbitraire vous donnera une implémentation sécurisée qui deviendra plus rapide comme par magie à mesure que la prise en charge du navigateur augmente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top