Ciao,
dovendo rilanciare nel mio script una funzione sempre con gli stessi argomenti, mi sono imbattuto nell'oggetto arguments, che la guida O'Reilly definisce come un array a tutti gli effetti secondo gli standards ECMA-262 (fin da JavaScript 1.1).
Se così fosse, il metodo:
codice:
var args = arguments.toString();
restituirebbe una stringa composta dagli argomenti separati da virgole, come per qualsiasi altro normale array non nativo costruito nella funzione.
Invece non è così, infatti viene restituito (sia da FF, sia da MSIE) la stringa [object Object]
Questo mi obbliga a costruirla in modo più macchinoso con un ciclo che scorre tutti gli elementi dell'oggetto arguments e ne concatena i valori ad una variabile apposita:
codice:
var args = "";
for (i = 0; i < arguments.length; i++) {
args += arguments[i];
if (i < (arguments.length - 1)) { args += ","; }
}
Sapete cosa c'è all'origine di questo problema, ed eventualmente come ottimizzare il codice relativo?