Si consideri il codice:Perché Javascript non consente a una funzione di ridefinire se stessa da se stessa?
window.a = function(x){
var r = x*2;
window.a =alert; // redefines itself after first call
return r;
};
a('2 * 2 = '+a(2)); // doesn't work. it should've alerted "2 * 2 = 4"
Questo non funziona neanche:
window.a = function(x){
alert(x);
window.a = function(x){ // redefines itself after first call
var r = x*2;
return r;
}
};
a('2 * 2 = '+a(2)); // doesn't work. it should've alerted "2 * 2 = 4"
Come nessuno fa questo:
window.a = function(x){ alert(x); window.c = window.a; window.a = window.b; window.b = window.c; };
window.b = function(x){ var r = x*2; window.c = window.b; window.b = window.a; window.a = window.c; return r; };
a('2 * 2 = '+a(2)); // doesn't work.
E in fondo ho provato tutti i modi possibili e nessuno dei due sembra fare il lavoro. Qualcuno può spiegare perché?
solo per curiosità, perché stai provando a fare questo? – maialithar
Bene, il primo in realtà funziona per me (Chrome 18) – Yoshi
Funziona perfettamente in Chrome e IE ... –