Skip to main content

Nekoliko JavaScript trikova; možda ih ne znate sve.

1. Broj parametara funkcije

Zasigurno vam je poznat objekt arguments koji u sebi sadrži sve parametre koji su poslani funkciji:

for(i = 0; i < arguments.length; i++) alert(arguments[i])

no možda ne znate da postoji jednostavan način za provjeriti koliko parametara funkcija očekuje:

funkcija.length

gdje je funkcija konkretni naziv funkcije. Tako dakle možete napraviti nešto poput ovog:

if(arguments.length != funkcija.length)
{
      alert('Wrong number of parameters!')
}

• • • • •

2. Pretvaranje bilo kakve vrijednosti u TRUE ili FALSE

Vrijednost varijable bilo kojeg tipa se jednostavno može pretvoriti u true/false varijantu:

!!varijabla

gdje je varijabla naziv varijable bilo kojeg tipa.

Ovo je posebno korisno jer vas rješava dodatnih provjera za null, undefined i NaN vrijednosti - sve one postaju FALSE. Zajedno s nulom i praznim stringom. Sve ostalo je TRUE.

Provjerite:

var arr = new Array(false, NaN, undefined, true, 0, '', 1, -1, 42)
for(var i = 0; i < arr.length; i++)
{
      alert(arr[i] + '=>' + !!arr[i])
}


3. Imenovanje petlji

Da li vam se kad dogodilo da u vanjskoj petlji imate unutarnju petlju, a unutar nje uvjet koji kad se ispuni treba prekinuti i unutarnju i vanjsku petlju, tj. treba break ali da izađe i iz vanjske?

(Nešto kao break [xy] u PHPu gdje xy kaže iz koliko petlji treba prekinuti.)

U JavaScript je to moguće ako "imenujemo" petlju, npr. "petlja":

petlja:
for(var i = 0; i < 100; i++)
{
      for(var j = 0; j < 100; j++)
      {
            if(i == 3 && j == 3)
                  break petlja
      }
}
alert(i + ',' + j) // result: 3, 3

Na tako imenovanoj petlji također funkcionira i continue.


4. Statične lokalne varijable

Statične lokalne varijable su varijable koje vrijede samo u funkciji, ali se ne resetiraju kod svakog poziva, tj. vrijednosti se čuvaju između uzastopnih poziva funkcije.

U JavaScriptu je to moguće izvesti tako da se vrijednost 1. put postavi "izvana".

function count()
{
      return count.c++
}
count.c = 0

alert(count()) // result: 0
alert(count()) // result: 1


5. JavaScript include

Mnogo je grubih riječi izrečeno na račun nedostatka direktive include u JavaScriptu.

Nepotrebno jer se ona da iskemijati u nekoliko linija: u HEAD stranice dodamo SCRIPT element kojemu za source postavimo putanju do vanjske JS datoteke.

var headID = document.getElementsByTagName('head')[0]
var newScript = document.createElement('script')
newScript.type = 'text/javascript'
newScript.src = 'script.js'
headID.appendChild(newScript)

Ovaj niz linija će učitati datoteku 'script.js', ako ista egzistira.

• • • • •

Dobro, dobro, znali ste za sve ovo. Okej, u slijedećem postu pišem o ženama. I to nešto što ne znate. Probably. :P

1
Komentari

Rajt :)

Dodaj komentar
Ime:
e-mail:
WWW:
Izračunaj: 10 + 4
Komentar: