|
|
Zverejnené 4. 12. 2017 20:23:14
|
|
|

1. Rešpektovať vlastníctvo predmetu Nepridávajte atribúty k inštanciám alebo prototypom; Nepridávajte metódy do inštancií alebo prototypov; Nedefinujte metódy, ktoré už existujú. Najlepším spôsobom je nikdy neupravovať objekty, ktoré vám nepatria. Vlastniť objekt znamená, že ste ho vytvorili, napríklad vlastný typ alebo doslovný objekt, ktorý ste si vytvorili sami. Polia a dokumenty samozrejme nie sú vaše, existujú ešte predtým, než sa váš kód spustí. 2. Vyhnite sa globálnym premenným Vytvorte maximálne globálnu premennú, ktorá umožní existenciu iných objektov a funkcií v nej. Pozrite sa na nasledujúce príklady:
//两个全局量——避免!! var name = "Nicholas"; function sayName(){ upozornenie (meno);
} Tento kód obsahuje dve globálne veličiny: meno premennej a funkciu sayName(). V skutočnosti môžete vytvoriť objekt, ktorý obsahuje oboje, ako ukazuje nasledujúci príklad:
//一个全局量——推荐 var MyApplication = {
name: “Nicholas”,
sayName: function(){ alert(this.name);
} }; 3. Vyhnite sa porovnávaniu s nulou Ak by mala byť hodnota referenčného typu, použite inštanciu operátora na kontrolu jeho konštruktora; Ak by mala byť hodnota základný typ, použite typeof na kontrolu jeho typu; Ak chcete, aby objekt obsahoval konkrétne meno metódy, použite operátor typu, aby ste sa uistili, že metóda s daným názvom existuje na objekte. (Tu odporúčam svoju webovú front-end skupinu na učenie a výmenu: 675498134, či už ste začiatočník alebo boh, vítam vás, aby ste prišli, učili sa, komunikovali a občas sa podelili o suché produkty, vrátane najnovších front-end materiálov a tutoriálov, ktoré som si sám zostavil, aby som vám ich poskytol, a sú tu technickí experti, ktorí každý deň naživo vysvetľujú front-end znalosti. Začiatočníci aj pokročilí priatelia sú vítaní, aby sa učili spolu, komunikovali a spoločne napredovali. ) 4. Použite konštanty Hoci Javascrip{filter}t nemá formálny pojem konštánt, je užitočný. Táto myšlienka oddelenia dát od aplikačnej logiky môže meniť dáta bez rizika vzniku chýb. Pozrite sa na nasledujúce príklady: var Konštanty = { INVALID_VALUE_MSG: "Neplatná hodnota!", INVALID_VALUE_URL: "/errors/invalid.php" }; function validate(value){ ak (!value){ alert(Constants.INVALID_VALUE_MSG); locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
} 5. Vyhnite sa globálnemu vyhľadávaniu Pravdepodobne najdôležitejšie na optimalizáciu výkonu skriptov je venovať pozornosť globálnym vyhľadávaniam. Používanie globálnych premenných a funkcií je určite drahšie ako lokálne, pretože zahŕňa vyhľadávanie v reťazci rozsahu. Pozrite sa na nasledujúcu funkciu: function updateUI(){ var imgs = document.getElementsByTagName("img"); pre (var i=0, len=imgs.length; I < len; i++){ imgs[i].title = document.title + " image " + i;
} var msg = document.getElementById("msg"); msg.innerHTML = "Aktualizácia dokončená.";
} Funkcia môže vyzerať úplne v poriadku, ale obsahuje tri odkazy na globálny objekt dokumentu. Ak je na stránke viacero obrázkov, referencia na dokument v for cykle sa vykoná viackrát alebo dokonca stovky krát, zakaždým sa vykoná vyhľadávanie scope chain. Vytvorením lokálnej premennej smerujúcej na objekt dokumentu môžete zlepšiť výkon tejto funkcie tým, že obmedzíte globálne vyhľadávanie raz: function updateUI(){ var doc = dokument; var imgs = doc.getElementsByTagName("img"); pre (var i=0, len=imgs.length; I < len; i++){ imgs[i].title = doc.title + " image " + i;
} var msg = doc.getElementById("msg"); msg.innerHTML = "Aktualizácia dokončená."; Tu najprv umiestnite objekt dokumentu do premennej local doc; Potom nahraďte pôvodný dokument zvyškom kódu. V porovnaní s pôvodnou verziou má súčasná funkcia len jedno globálne vyhľadávanie, čo je určite rýchlejšie. 6. Ďalšie opatrenia pre výkon Natívne metódy sú rýchlejšie – Kedykoľvek je to možné, používajte natívnu metódu namiesto toho, aby ste si ju sami prepisovali pomocou Javascrip{filter}t. Natívna metóda je napísaná v kompilovanom jazyku, ako je C/C++, takže je oveľa rýchlejšia ako Javascrip{filter}t. Najviac zabúdaná vec na Javascrip{filter}t je zložitá matematika, ktorú možno nájsť v matematických objektoch; Tieto metódy sú oveľa rýchlejšie než akákoľvek iná metóda napísaná pomocou Javascrip{filter}t, ako napríklad sínus a kosinus. Switch príkazy sú rýchlejšie – Ak máte sériu zložitých if-else príkazov, môžete získať rýchlejší kód ich konverziou na jeden switch príkaz. Môžete tiež ďalej upresniť výrok o zmene tým, že ho usporiadate v poradí od najpravdepodobnejšieho po najmenej pravdepodobné. Bitové operátory sú rýchlejšie – Pri vykonávaní matematických operácií sú bitové operácie rýchlejšie ako akékoľvek Booleovské alebo aritmetické operácie. Selektívne nahradenie aritmetických operácií bitovými operáciami môže výrazne zlepšiť výkon zložitých výpočtov. Logika ako modulus, logika a súčet logiky môže byť považovaná za nahradenú bitovými operáciami.
|
Skóre
-
Zobraziť všetky hodnotenia
Predchádzajúci:SQL Server exportuje špecifikované dáta s podmienkamiBudúci:Nováčikovia hrajú s čiernou technológiou v CSS
|