Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 12538|Odgovoriti: 1

[JavaScript] javascrip{filter}t performance optimization

[Kopiraj povezavo]
Objavljeno na 4. 12. 2017 20:23:14 | | |
1. Spoštujte lastništvo predmeta
 Ne dodajajte atributov instancam ali prototipom;
 Ne dodajaj metod v primerke ali prototipe;
 Ne redefinirajte metod, ki že obstajajo.
Najboljši način za to je, da nikoli ne spreminjate predmetov, ki niso v vaši lasti. Lastništvo objekta pomeni, da ste ga ustvarili, na primer prilagojen tip ali dobesedni objekt, ki ste ga ustvarili sami. Polja in dokumenti očitno niso vaši, obstajajo še preden se vaša koda izvede.
2. Izogibajte se globalnim spremenljivkam
Ustvari največ globalno spremenljivko, ki omogoča obstoj drugih objektov in funkcij v njej. Oglejte si naslednje primere:
//两个全局量——避免!!
var ime = "Nicholas";
funkcija sayName(){
opozorilo(ime);
}
Ta koda vsebuje dve globalni količini: ime spremenljivke in funkcijo sayName(). Pravzaprav lahko ustvarite objekt, ki vsebuje oboje, kot je prikazano v naslednjem primeru:
//一个全局量——推荐
var MyApplication = {
name: “Nicholas”,
sayName: function(){
alert(this.name);
}
};
3. Izogibajte se primerjanju z ničelnim
 Če naj bi bila vrednost referenčni tip, uporabite operator instanceof za preverjanje njegovega konstruktorja;
 Če naj bi bila vrednost osnovni tip, uporabite typeof za preverjanje njegovega tipa;
 Če želite, da objekt vsebuje določeno ime metode, uporabite operator typeof, da zagotovite, da metoda z določenim imenom obstaja na objektu.
(Tukaj priporočam svojo skupino za učenje in izmenjavo spletnih vmesnikov: 675498134, ne glede na to, ali ste začetnik ali bog, vas vabim, da se naučite, komunicirate in občasno delite suhe izdelke, vključno z najnovejšimi materiali in vodiči, ki sem jih sam sestavil za vas, poleg tega pa so tu tudi strokovnjaki, ki vsak dan v živo razlagajo znanje o front-endu. Začetniki in izkušeni prijatelji so dobrodošli, da se učijo, komunicirajo in skupaj napredujejo. )
4. Uporaba konstant
Čeprav Javascrip{filter}t nima formalnega pojma konstant, je uporaben. Ta ideja ločevanja podatkov od aplikacijske logike lahko spremeni podatke brez tveganja za napake. Oglejte si naslednje primere:
var konstante = {
INVALID_VALUE_MSG: "Neveljavna vrednost!",
INVALID_VALUE_URL: "/errors/invalid.php"
};
function validate(value){
if (!value){
alert(Constants.INVALID_VALUE_MSG);
locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
}
5. Izogibajte se globalnemu iskanju
Verjetno je najpomembnejša stvar za optimizacijo zmogljivosti skript to, da paziš na globalna iskanja. Uporaba globalnih spremenljivk in funkcij je zagotovo dražja kot lokalna, ker vključuje iskanje po verigi obsega. Oglejte si naslednjo funkcijo:
funkcija updateUI(){
var imgs = document.getElementsByTagName("img");
za (var i=0, len=imgs.length; I < Len; i++){
imgs[i].title = document.title + " image " + i;
}
var msg = document.getElementById("msg");
msg.innerHTML = "Posodobitev zaključena.";
}
Funkcija je morda videti povsem v redu, vendar vsebuje tri reference na globalni objekt dokumenta. Če je na strani več slik, se referenca na dokument v zanki for izvede večkrat ali celo stokrat, vsakič se izvede chain search scope. Z ustvarjanjem lokalne spremenljivke, ki kaže na objekt dokumenta, lahko izboljšate delovanje te funkcije tako, da omejite globalno iskanje enkrat:
funkcija updateUI(){
var doc = dokument;
var imgs = doc.getElementsByTagName("img");
za (var i=0, len=imgs.length; I < Len; i++){
imgs[i].title = doc.title + " image " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Posodobitev zaključena.";
Tukaj najprej postavite objekt dokumenta v lokalno spremenljivko dokumenta; Nato zamenjaj izvirni dokument z ostalo kodo. V primerjavi z izvirno različico ima trenutna funkcija le en globalni iskalni prikaz, kar je zagotovo hitrejše.
6. Drugi ukrepi za uspešnost
 Nativne metode so hitrejše – Kadar je mogoče, uporabite izvorno metodo, namesto da jo sami prepišete z Javascrip{filter}t. Izvorna metoda je napisana v prevedenem jeziku, kot je C/C++, zato je veliko hitrejša od Javascrip{filter}t. Najbolj pozabljena stvar pri Javascrip{filter}t je zapletena matematika, ki jo najdemo v matematičnih objektih; Te metode so veliko hitrejše od vseh drugih metod, napisanih z Javascrip{filter}t, kot sta sinus in kosinus.
 Switch stavki so hitrejši – Če imate serijo zapletenih if-else stavkov, lahko dobite hitrejšo kodo, če jih pretvorite v en sam switch stavek. Lahko tudi dodatno izpopolnite izjavo o menjavi tako, da jo organizirate od najbolj verjetne do najmanj verjetne.
 Bitni operatorji so hitrejši – Pri izvajanju matematičnih operacij so bitne operacije hitrejše od vseh Booleovih ali aritmetičnih operacij. Selektivna zamenjava aritmetičnih operacij z bitnimi operacijami lahko bistveno izboljša zmogljivost kompleksnih izračunov. Logiko, kot so modul, logika in logika vsote, lahko štejemo za nadomeščene z bitnimi operacijami.

Partitura

Število udeležencev1MB+1 prispevati+1 Propad razlog
QWERTYU + 1 + 1 Podprite lastnika, da objavi dobro objavo, in tudi jaz bom objavil dobro objavo!

Oglejte si vse ocene





Prejšnji:SQL Server izvozi določene podatke s pogoji
Naslednji:Novinci igrajo nekaj črne tehnologije v CSS
Objavljeno na 5. 12. 2017 09:33:13 |
Učen            
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com