Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Javascript prečica za jasniji kod



Nekoliko načina da uštedite bajtove u vašem Javascript kodu i učinite ga čitljivijim i bržim za pisanje:

POVEĆANJE/SMANJENJE/MNOŽENJE/DELJENJE PROMENLJIVE (VARIABLE)

Kada želite da povećate ili smanjite promenljivu za jedan; umesto ovoga:

growCount = growCount + 1;
shrinkCount = shrinkCount - 1;


Možete jednostavno učiniti sledeće:

growCount ++;
shrinkCount --;


Ili za dodavanje/oduzimanje/množenje/deljenje sa nekim brojem možete uraditi sledeće:

growCout += 100;
shrinkCount -= 2;


moreSweets *= 5; // multiply moreSweets by 5
lessApple /= 2; // divide lessApple by 2


TROJNI OPERATOR (USLOVNI)

Ovo je pojednostavljen kod kada želite da se, u zavisnosti od rezultat ispitivanja, uradi jedno ili drugo (tj. posebno za rezultat 'true'-tačno , a posebno za rezultat 'false'-netačno) :

if(myAge > legalAge) {
    canDrink = true;
}
else {
    canDrink = false;
}


Umesto ovoga , navedite uslov ispred znaka pitanja, a iza toga izraze za slučaj tačno i za slučaj netačno odvojene dvotačkom:

var canDrink = (myAge > legalAge) ? true : false;


Kao što je istaknuto komentarima , gornji primer se može dalje uprostiti kao var canDrink = myAge > legalAge, pošto navedeni izraz vraća logičku vrednost (boolean).



ASOCIJATIVNA NOTACIJA TABELE (ARRAY)

Stari, školski način za definisanje tabele (array) bio je kreiranje njenog imena, a nakon toga dodavanje imenovanih elementi jedan po jedan:

var skillSet = new Array();
skillSet['Document language'] = 'HTML5';
skillSet['Styling language'] = 'CSS3';
skillSet['Javascript library'] = 'jQuery';
skillSet['Other'] = 'Usability and accessibility';


Brži i pregledniji način je da se elementi dodaju istovremeno uz korišćenje 'object literal' notacije, čime se dobija:

var skillSet = {
'Document language' : 'HTML5',
'Styling language' : 'CSS3',
'Javascript library' : 'jQuery',
'Other' : 'Usability and accessibility'
};


Ne zaboravite da izostavite poslednji zarez , da se pojedini pretraživači (browser-i) ne budu bunili.

PODRAZUMEVANA VREDNOST

Sledeće je korisno ukoliko testirate da li je promenljiva prethodno inicijalizovana, da biste u suprotnom pokušali nešto drugo:

function displayValues(limit) {
var length;
if(limit) {
length = limit;
} else {
length = 10;
}
for(var i = 0; i++; i < = length) {
...
}


Kraći način je korišćenje dvostrukog kanala. Ukoliko vrednost promenljiva 'limit' nije prosleđena funkciji onda će podrazumevana vrednost za varijablu 'length' biti 10:

function displayValues(limit) {
var length = limit || 10;
for(var i = 0; i < = length; i++) {
...
}


Promenljiva 'lenght će doboto vrednost levog operanda ukoliko dobije ocenu 'true', odnosno samo ukoliko ne bude nešto od sledećeg:
  • false
  • 0
  • null
  • undefined
  • empty string
U suprotnom dobiće vrednost desnog operanda. Prema tome, ovo nije prava stvar ukoliko želite da eksplicitno postavite 'length' na vrednost nula (zero).





Published (Last edited): 10-02-2013 , source: http://www.punkchip.com/2010/05/javascript-shorthand/