Premesso che quando lessi la guida base di html.it relativa a javascript non capii bene il significato e l'utilità di escape volevo chiedere un approfondimento relativamente all'utilità di escape nel seguente codice:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script type="text/javascript">
function aggiungivoce(){
	num_option=document.getElementById('listapersonale').options.length; 
	indice_selezionato = document.getElementById('listacompleta').selectedIndex;
	if(indice_selezionato>=0){
		value_selezionato = document.getElementById('listacompleta').options[indice_selezionato].value;
		testo_selezionato = document.getElementById('listacompleta').options[indice_selezionato].innerHTML;
		duplicato=0;
		for(a=0;a<num_option;a++){
			if(document.getElementById('listapersonale').options[a].value==value_selezionato){
				duplicato=1;
			}
		}
		if(duplicato==0){
			document.getElementById('listapersonale').options[num_option]=new Option('',escape(value_selezionato),false,false);
			document.getElementById('listapersonale').options[num_option].innerHTML = testo_selezionato;
		}
	}
}
function rimuovivoce(){
	indice_selezionato = document.getElementById('listapersonale').selectedIndex;
	if(indice_selezionato>=0){
		document.getElementById('listapersonale').options[indice_selezionato]=null;
	}
}
function svuota(){
	num_option=document.getElementById('listapersonale').options.length;
	for(a=num_option;a>=0;a--){
		document.getElementById('listapersonale').options[a]=null;
	}
}
</script> 
</head>

<body>
<select name="listacompleta" id="listacompleta">
	<option value="1">voce 1</option>
	<option value="2">voce 2</option>
	<option value="3">voce 3</option>
	<option value="4">voce 4</option>
	<option value="5">voce 5</option>
</select>

<input type="button" value="Aggiungi" onclick="aggiungivoce()">

<select name="listapersonale" id="listapersonale">
</select>

<input type="button" value="Rimuovi" onclick="rimuovivoce()">

<input type="button" value="Svuota" onclick="svuota()">
</body>
</html>
Sia che metta oppure no il comando escape il codice funziona però la domanda é questa:
Meglio usare escape oppure no e per quale motivo?
Senza leggere tutto il codice soffermatevi qui:
codice:
document.getElementById('listapersonale').options[num_option]=new Option('',escape(value_selezionato),false,false);
Grazie e buone feste!