credo che se ne sia parlato miliardi di volte.
Prova a fare una ricerca nel forum di javascript...