Dov'è l'errore nella seguente funzione?
codice:
String.prototype.XMLescape = function(){
	replacement=new Array("è","é");
	result=this;
	for(i=0;i<replacement.length;i++){
		result.replace(replacement[i],"&#"+replacement[i].charCodeAt(0)+";");
	}
	return result;
}

prova="è";
alert(prova.XMLescape());
Ho pensato che potrebbe derivare dal fatto che la funzione inserisce una stringa come primo argomento di replace anziché una espressione regolare, ma scrivendo ad esempio nel for
codice:
alert(result.replace(replacement[i],"&#"+replacement[i].charCodeAt(0)+";"));
il risultato al primo ingresso nel ciclo è comunque "&#38;#232;".