che differenza c'è nel dichiarare una funzione nei deguenti modi:

codice:
function nomefunzione (param)
{
istruzioni
}
codice:
nomefunzione = function (param)
{
istruzioni
}
codice:
nomefunzione = new function (param)
{
istruzioni
}
ce ne sono altri?