|
|
Postitatud 04.12.2017 20:23:14
|
|
|

1. Austa objekti omandit Ära lisa atribuute eksemplaridele ega prototüüpidele; Ära lisa meetodeid eksemplaridele ega prototüüpidele; Ära defineeri meetodeid, mis juba eksisteerivad. Parim viis selleks on mitte kunagi muuta objekte, mis ei kuulu sulle. Objekti omamine tähendab, et oled selle loonud, näiteks kohandatud tüübi või objekti, mille ise lõid. Massiivid ja dokumendid ei ole ilmselgelt sinu omad, need eksisteerivad enne, kui su kood käivitatakse. 2. Väldi globaalseid muutujaid Loo maksimaalselt globaalne muutuja, võimaldades seal eksisteerida teistel objektidel ja funktsioonidel. Vaata järgmisi näiteid:
//两个全局量——避免!! var nimi = "Nicholas"; function sayName(){ alert (nimi);
} See kood sisaldab kahte globaalset suurust: muutuja nime ja funktsiooni sayName(). Tegelikult saab luua objekti, mis sisaldab mõlemat, nagu näidatud järgmises näites:
//一个全局量——推荐 var MyApplication = {
name: “Nicholas”,
sayName: function(){ alert(this.name);
} }; 3. Väldi võrdlemist nulliga Kui väärtus peaks olema viitetüüp, kasuta operaatori instantsi, et kontrollida selle konstruktorit; Kui väärtus peaks olema baastüüp, kasuta typeof selle tüübi kontrollimiseks; Kui soovid, et objekt sisaldaks konkreetset meetodi nime, kasuta typeof-operaatorit, et veenduda, et määratud nimega meetod eksisteerib objektil. (Siin soovitan oma veebipõhise kasutajaliidese õppimise ja vahetuse gruppi: 675498134, olenemata sellest, kas oled algaja või jumal, ootan sind tulema, õppima ja suhtlema ning aeg-ajalt kuivtooteid jagama, sealhulgas uusimaid front-end materjale ja õpetusi, mille olen ise kokku pannud, et sulle anda, ning seal on tehnilisi eksperte, kes selgitavad front-end teadmisi iga päev otse. Algajad ja edasijõudnud sõbrad on teretulnud õppima, suhtlema ja koos edusamme tegema. ) 4. Kasuta konstandeid Kuigi Javascrip{filter}t ei oma konstantide formaalset mõistet, on see siiski kasulik. See andmete eraldamine rakendusloogikast võib andmeid muuta ilma vigade tekkimise riskita. Vaata järgmisi näiteid: var Konstandid = { INVALID_VALUE_MSG: "Kehtetu väärtus!", INVALID_VALUE_URL: "/vead/invalid.php" }; function validate(value){ if (!value){ alert(Constants.INVALID_VALUE_MSG); locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
} 5. Väldi ülemaailmset otsingut Tõenäoliselt kõige olulisem skripti jõudluse optimeerimiseks on pöörata tähelepanu globaalsetele päringutele. Globaalsete muutujate ja funktsioonide kasutamine on kindlasti kallim kui lokaalsed, sest see hõlmab otsinguid ulatusahelas. Vaata järgmist funktsiooni: function updateUI(){ var imgs = document.getElementsByTagName("img"); for (var i=0, len=imgs.length; Ma < Len; i++){ imgs[i].title = document.title + " pilt " + i;
} var msg = document.getElementById("msg"); msg.innerHTML = "Uuendus lõpetatud.";
} Funktsioon võib välja näha täiesti korras, kuid sisaldab kolme viidet globaalsele dokumendiobjektile. Kui lehel on mitu pilti, täidetakse for-tsükli dokumendiviide mitu korda või isegi sadu kordi, iga kord tehakse scope chain otsing. Luues lokaalse muutuja, mis osutab dokumendiobjektile, saad selle funktsiooni jõudlust parandada, piirates globaalset otsingut ühe korra: function updateUI(){ var doc = dokument; var imgs = doc.getElementsByTagName("img"); for (var i=0, len=imgs.length; Ma < Len; i++){ imgs[i].title = doc.title + " pilt " + i;
} var msg = doc.getElementById("msg"); msg.innerHTML = "Uuendus lõpetatud."; Siin aseta esmalt dokumendiobjekt lokaalsesse dokumendimuutujasse; Seejärel asenda originaaldokument ülejäänud koodiga. Võrreldes originaalversiooniga on praegusel funktsioonil ainult üks globaalne otsing, mis on kindlasti kiirem. 6. Muud ettevaatusabinõud soorituse tagamiseks Natiivsed meetodid on kiiremad – Kui võimalik, kasuta natiivset meetodit, selle asemel et ise Javascrip{filter}t abil ümber kirjutada. Natiivse meetodi kirjutamine on kompileeritud keeles nagu C/C++, seega on see palju kiirem kui Javascrip{filter}t. Kõige unustatud asi Javascrip{filter}t juures on keerukas matemaatika, mida leidub matemaatikaobjektides; Need meetodid on palju kiiremad kui ükski teine Javascrip{filter}t meetod, näiteks siinus ja kosinus. Switch-laused on kiiremad – Kui sul on rida keerukaid if-else lauseid, saad kiiremat koodi, kui teisendad need üheks lülitilauseks. Switchi lauset saab veelgi täpsustada, korraldades juhtumi lause kõige tõenäolisemast kuni kõige vähem tõenäoliseni. Bittioperaatorid on kiiremad – matemaatiliste operatsioonide tegemisel on bitioperatsioonid kiiremad kui ükski Boole'i või aritmeetiline operatsioon. Aritmeetiliste operatsioonide valikuline asendamine bittide operatsioonidega võib oluliselt parandada keerukate arvutuste sooritust. Loogikat nagu moodul, loogika ja summaloogika võib pidada asendatuks bittide operatsioonidega.
|
Skoor
-
| Osalejate arv1 | MB+1 |
Aitavad kaasa+1 |
Ahenda
põhjus
|
QWERTYU
| + 1 |
+ 1 |
Toeta omanikku, et ta postitaks hea postituse, ja ma teen ka hea postituse! |
Vaata kõiki hinnanguid
Eelmine:SQL Server ekspordib määratud andmed tingimustegaJärgmine:Algajad mängivad CSS-is musta tehnoloogiat
|