Dire che ho un sacco di funzioni JavaScript simili a:
message = [“000”, “111”, “222”, “333”];
function F0(){
alert (message[0]);
}
function F1(){
alert (message[1]);
}
function F2(){
alert (message[2]);
}
function F3(){
alert (message[3]);
}
C'è un modo per creare una sorta di modello per questo insieme di funzioni?
Cioè, per dichiarare qualcosa del tipo:
function F<T>(){
alert (message[T]);
}
La ragione è piuttosto semplice. Nella mia soluzione, ho funzioni molto più complesse che eseguono la stessa azione (sono funzioni di callback per alcuni oggetti XMLHttpRequest). Ogni volta che apporto un cambiamento, deve riflettersi su tutte le funzioni, qualcosa che sto cercando di evitare. Dall'interno della funzione, non posso sapere se è stato chiamato da XMLHttpRequest[5]
o XMLHttpRequest[2]
, quindi ho creato alcune funzioni simili (per ogni oggetto XMLHttpRequest). Sto cercando un modo per prototipare quelle funzioni, quindi terrò la logica in un unico posto. Finora, non ho trovato un modo per ottenerlo con JavaScript.
Per essere chiari, sto usando quelle funzioni per XmlHttpRequest.onstatechange
così quelle sono chiamate senza parametri (qualcosa del tipo: xhr[0].onstatechange = F0; xhr[1].onstatechange = F1;
). Sto cercando un modo per prototipare solo la funzione e di crearne alcune "istanze", differenziate da un indice all'interno di quelle stesse funzioni.