Domanda

Che è più veloce,

  1. Utilizzo di XMLHTTP Ottieni richiesta e utilizzo eval () per il reponsetext

  2. Uso della tecnica JSONP per caricare uno script e quindi valutare l'hhtml interno dello script.

  3. Aggiunta dinamica di un tag di script alla testa di un documento in cui l'oggetto javascript viene assegnato a una variabile?

Il mio istinto mi dice che dovrebbe essere l'opzione 3, ma non sono sicuro di come eval si confronti con l'uso di un tag script. Qualche pensiero?

È stato utile?

Soluzione 3

Sono d'accordo che la libreria JSON2 sia probabilmente la strada da percorrere per eval () 'ing. Ma per il trasporto, sembra che il meccanismo JSONP sia più veloce di XMLHTTPRequest per alcune analisi che John Resig ha fatto.

http://ejohn.org/blog/native-json- supporto-è-richiesta /

Altri suggerimenti

Potrebbe variare in base al browser e ad alcuni altri fattori, quindi penso che se vuoi davvero le migliori prestazioni dovresti fare alcuni test e profilarli. Per prima cosa, le prestazioni di eval () possono variare enormemente a seconda di ciò che stai eval () 'ing

Dovresti semplicemente utilizzare la libreria JSON2 per analizzare i dati json, poiché l'utilizzo di eval non è sicuro (l'utilizzo di <=> comporta un numero elevato di potenziali exploit del sito), è lento (specialmente nei più recenti motori JS jitting) e infine (e, soprattutto,) l'oggetto JSON fornito da la libreria JSON2 sta diventando parte dello standard ecma script (ad es. javascript), il che significa che i browser stanno ora implementando il json parsing (e stringification) generando nativamente prestazioni notevolmente migliorate.

Fortunatamente, se usi la libreria JSON2, rileva l'esistenza di un'implementazione nativa dell'oggetto JSON e non la sovrascrive, quindi il suo utilizzo arbitrario ti darà un'implementazione sicura che diventerà magicamente più veloce con il miglioramento del supporto del browser.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top