Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12538|Risposta: 1

[JavaScript] JavaScript_filter}t Performance Optimization

[Copiato link]
Pubblicato su 04/12/2017 20:23:14 | | |
1. Rispettare la proprietà dell'oggetto
 Non aggiungere attributi a istanze o prototipi;
 Non aggiungere metodi a istanze o prototipi;
 Non ridefinire metodi già esistenti.
Il modo migliore per farlo è non modificare mai oggetti che non sono di tua proprietà. Possedere un oggetto significa che l'hai creato tu, come un tipo personalizzato o un oggetto letterale che hai creato tu stesso. Array e documenti ovviamente non sono tuoi, esistono prima che il tuo codice venga eseguito.
2. Evitare variabili globali
Creare al massimo una variabile globale, permettendo ad altri oggetti e funzioni di esistere al suo interno. Dai un'occhiata ai seguenti esempi:
//两个全局量——避免!!
nome var = "Nicholas";
funzione sayName(){
allarme(nome);
}
Questo codice contiene due quantità globali: il nome della variabile e la funzione sayName(). In effetti, puoi creare un oggetto che contiene entrambi, come mostrato nel seguente esempio:
//一个全局量——推荐
var MyApplication = {
name: “Nicholas”,
sayName: function(){
allerta(this.name);
}
};
3. Evitare di confrontare con null
 Se il valore deve essere un tipo di riferimento, si usa l'operatore instanceof per verificare il suo costruttore;
 Se il valore deve essere un tipo base, si usa typeof per verificarne il tipo;
 Se vuoi che l'oggetto contenga un nome specifico del metodo, usa l'operatore typeof per assicurarti che il metodo con il nome specificato esista sull'oggetto.
(Qui consiglio il mio gruppo di apprendimento e scambio front-end web: 675498134, che tu sia un principiante o un dio, ti invito a venire a imparare, comunicare e condividere di tanto in tanto i materiali di front-end e i tutorial che ho compilato personalmente per offrirvi, e ci sono esperti tecnici che spiegano la conoscenza front-end dal vivo ogni giorno. Amici principianti e avanzati sono i benvenuti a imparare, comunicare insieme e a fare progressi insieme. )
4. Uso delle costanti
Sebbene Javascrip{filter}t non abbia un concetto formale di costanti, è utile. Questa idea di separare i dati dalla logica applicativa può modificare i dati senza rischiare di introdurre errori. Dai un'occhiata ai seguenti esempi:
var Costanti = {
INVALID_VALUE_MSG: "Valore invalido!",
INVALID_VALUE_URL: "/errori/invalid.php"
};
funzione validate(value){
if (!value){
all'erta(Constants.INVALID_VALUE_MSG);
locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
}
5. Evitare la ricerca globale
Probabilmente la cosa più importante per ottimizzare le prestazioni degli script è prestare attenzione alle ricerche globali. Usare variabili e funzioni globali è sicuramente più costoso rispetto al locale perché comporta ricerche nella catena di scopo. Dai un'occhiata alla seguente funzione:
function updateUI(){
var imgs = document.getElementsByTagName("img");
per (var i=0, len=imgs.length; Io < Len; i++){
imgs[i].title = document.title + " immagine " + i;
}
var msg = document.getElementById("msg");
msg.innerHTML = "Aggiornamento completato.";
}
La funzione può sembrare perfettamente a posto, ma contiene tre riferimenti all'oggetto documento globale. Se ci sono più immagini sulla pagina, il riferimento al documento nel ciclo for verrà eseguito più volte o addirittura centinaia di volte, ogni volta verrà eseguita una ricerca nella catena di scopo. Creando una variabile locale che punta all'oggetto documento, puoi migliorare le prestazioni di questa funzione limitando una ricerca globale una volta:
function updateUI(){
var doc = document;
var imgs = doc.getElementsByTagName("img");
per (var i=0, len=imgs.length; Io < Len; i++){
imgs[i].title = doc.title + " immagine " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Aggiornamento completato.";
Qui, prima posiziona l'oggetto documento nella variabile doc locale; Poi sostituisci il documento originale con il resto del codice. Rispetto alla versione originale, la funzione attuale ha solo una ricerca globale, che è sicuramente più veloce.
6. Altre precauzioni per le prestazioni
 I metodi nativi sono più veloci - Quando possibile, usa il metodo nativo invece di riscriverne uno da solo con Javascrip{filter}t. Il metodo nativo è scritto in un linguaggio compilato come C/C++, quindi è molto più veloce di Javascrip{filter}t. La cosa più dimenticata di Javascrip{filter}t è la matematica complessa che si trova negli oggetti Math; Questi metodi sono molto più veloci di qualsiasi altro metodo scritto con Javascrip{filter}t, come seno e coseno.
 Le istruzioni switch sono più veloci - Se hai una serie di istruzioni if-else complesse, puoi ottenere codice più veloce convertendole in una singola istruzione switch. Puoi anche affinare ulteriormente l'istruzione switch organizzando la dichiarazione del caso in ordine da più probabile a meno probabile.
 Gli operatori di bit sono più veloci - Quando si eseguono operazioni matematiche, le operazioni di bit sono più rapide di qualsiasi operazione booleana o aritmetica. Sostituire selettivamente le operazioni aritmetiche con operazioni su bit può migliorare notevolmente le prestazioni di calcoli complessi. Logiche come modulo, logica e logica somma possono essere considerate sostituite da operazioni su bit.

Punteggio

Numero di partecipanti1MB+1 contribuire+1 Collasso ragione
QWERTYU + 1 + 1 Supporta il proprietario per pubblicare un buon post, e pubblicherò anche io un buon post!

Vedi tutte le valutazioni





Precedente:SQL Server esporta i dati specificati con condizioni
Prossimo:I principianti giocano un po' di tecnologia nera in CSS
Pubblicato su 05/12/2017 09:33:13 |
appreso            
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com