Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 12538|Atsakyti: 1

[JavaScript] javascrip{filter}t našumo optimizavimas

[Kopijuoti nuorodą]
Paskelbta 2017-12-04 20:23:14 | | |
1. Gerbkite objekto nuosavybę
 Nepridėkite atributų prie egzempliorių ar prototipų;
 Nepridėkite metodų prie egzempliorių ar prototipų;
 Neapibrėžkite jau esamų metodų iš naujo.
Geriausias būdas tai padaryti yra niekada nekeisti objektų, kurie jums nepriklauso. Objekto turėjimas reiškia, kad jį sukūrėte, pvz., pasirinktinį tipą arba objekto literalą, kurį sukūrėte patys. Masyvai ir dokumentai akivaizdžiai nėra jūsų, jie egzistuoja prieš vykdant kodą.
2. Venkite globalių kintamųjų
Sukurkite daugiausiai globalų kintamąjį, leisdami jame egzistuoti kitiems objektams ir funkcijoms. Pažvelkite į šiuos pavyzdžius:
//两个全局量——避免!!
var name = "Nikolajus";
funkcija sayName(){
įspėjimas (vardas);
}
Šiame kode yra du globalūs dydžiai: kintamojo pavadinimas ir funkcija sayName(). Tiesą sakant, galite sukurti objektą, kuriame yra abu, kaip parodyta šiame pavyzdyje:
//一个全局量——推荐
var MyApplication = {
name: “Nicholas”,
sayName: function(){
įspėjimas (this.name);
}
};
3. Venkite lyginti su nuliu
 Jei vertė turi būti etaloninio tipo, naudokite operatoriaus egzempliorių, kad patikrintumėte jos konstruktorių;
 Jei reikšmė turi būti bazinio tipo, naudokite typeof, kad patikrintumėte jos tipą;
 Jei norite, kad objekte būtų konkretus metodo pavadinimas, naudokite operatoriaus tipą, kad įsitikintumėte, jog objekte yra nurodytas metodas.
(Čia aš rekomenduoju savo žiniatinklio front-end mokymosi ir mainų grupę: 675498134, nesvarbu, ar esate naujokas, ar dievas, kviečiu jus ateiti ir mokytis ir bendrauti, ir dalintis sausomis prekėmis laikas nuo laiko, įskaitant naujausią front-end medžiagą ir vadovėlius, kad aš pats sukūriau jums duoti, ir yra techninių ekspertų, kurie paaiškina front-end žinias gyvai kiekvieną dieną. Pradedantieji ir pažengę draugai kviečiami mokytis ir bendrauti kartu bei daryti pažangą kartu. )
4. Naudokite konstantas
Nors Javascrip{filter}t neturi formalios konstantų sampratos, jis yra naudingas. Ši idėja atskirti duomenis nuo programos logikos gali pakeisti duomenis nerizikuojant įvesti klaidų. Pažvelkite į šiuos pavyzdžius:
var Konstantos = {
INVALID_VALUE_MSG: "Neleistina reikšmė!",
INVALID_VALUE_URL: "/klaidos/invalid.php"
};
funkcija validate(reikšmė){
if (!value){
įspėjimas (Constants.INVALID_VALUE_MSG);
locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
}
5. Venkite visuotinės paieškos
Tikriausiai svarbiausias dalykas norint optimizuoti scenarijaus našumą yra atkreipti dėmesį į visuotines paieškas. Globalių kintamųjų ir funkcijų naudojimas yra tikrai brangesnis nei vietinis, nes jis apima paieškas apimties grandinėje. Pažvelkite į šią funkciją:
funkcija updateUI(){
var imgs = document.getElementsByTagName("img");
for (var i=0, len=imgs.length; Aš < len; i++){
imgs[i].title = document.title + " vaizdas " + i;
}
var msg = document.getElementById("msg");
msg.innerHTML = "Atnaujinimas baigtas.";
}
Funkcija gali atrodyti puikiai, tačiau joje yra trys nuorodos į visuotinį dokumento objektą. Jei puslapyje yra keli vaizdai, dokumento nuoroda for cikle bus vykdoma kelis ar net šimtus kartų, kiekvieną kartą, kai bus atliekama aprėpties grandinės paieška. Sukūrę vietinį kintamąjį, nukreipiantį į dokumento objektą, galite pagerinti šios funkcijos našumą vieną kartą apribodami visuotinę peržvalgą:
funkcija updateUI(){
var doc = dokumentas;
var imgs = doc.getElementsByTagName("img");
for (var i=0, len=imgs.length; Aš < len; i++){
imgs[i].title = doc.title + " vaizdas " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Atnaujinimas baigtas.";
Čia pirmiausia įdėkite dokumento objektą į vietinį doc kintamąjį; Tada pakeiskite originalų dokumentą likusiu kodu. Palyginti su originalia versija, dabartinė funkcija turi tik vieną visuotinę paiešką, kuri yra tikrai greitesnė.
6. Kitos atsargumo priemonės
 Vietiniai metodai yra greitesni - Jei įmanoma, naudokite savąjį metodą, o ne patys perrašykite jį naudodami Javascrip{filter}t. Vietinis metodas parašytas kompiliuota kalba, pvz., C/C++, todėl jis yra daug greitesnis nei Javascrip{filter}t. Labiausiai pamirštas dalykas apie Javascrip{filter}t yra sudėtinga matematika, kurią galima rasti matematikos objektuose; Šie metodai yra daug greitesni nei bet kuris kitas metodas, parašytas naudojant Javascrip{filter}t, pvz., sinusas ir kosinusas.
 Perjungimo sakiniai yra greitesni – jei turite sudėtingų if-else sakinių seriją, galite gauti greitesnį kodą konvertuodami juos į vieną jungiklio sakinį. Taip pat galite dar labiau patobulinti jungiklio sakinį, sutvarkydami atvejo sakinį eilės tvarka nuo labiausiai tikėtino iki mažiausiai tikėtino.
 Bitų operatoriai yra greitesni – atliekant matematines operacijas, bitų operacijos yra greitesnės nei bet kokios Bulio logikos ar aritmetinės operacijos. Selektyviai pakeitus aritmetines operacijas bitų operacijomis, galima labai pagerinti sudėtingų skaičiavimų našumą. Logika, tokia kaip modulis, logika ir sumos logika, gali būti pakeista bitų operacijomis.

Vertinimas pagal

Dalyvių skaičius1MB+1 Prisidėti prie+1 Žlugimo priežastis
QWERTYU + 1 + 1 Parama savininkas po gerą pranešimą, ir aš taip pat po gerą pranešimą!.

Peržiūrėti visus įvertinimus





Ankstesnis:SQL serveris eksportuoja nurodytus duomenis su sąlygomis
Kitą:Naujokai žaisti kai juoda technologija CSS
Paskelbta 2017-12-05 09:33:13 |
išmoko            
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com