Javascript: Reemplazo de varios caracteres en una cadena

Se utilizará un sistema parecido al de reemplazo de fragmentos de una cadena, añadiendo un par de arrays con los caracteres que hay que quitar y los que los van a sustituir, un método toLowerCase para sustituir mayúsculas por minúsculas y un while para hacer los reemplazos uno a uno:

function convierteAlias (nuevoAlias) {

 especiales = new Array('á','é','í','ó','ú','ñ',' ','´',':',',',';','.');
 normales = new Array('a','e','i','o','u','n','_','_','_','_','_','_');
 
 nuevoAlias = nuevoAlias.toLowerCase();
 
 i=0;
 while (i<especiales.length) {
  //nuevoAlias = nuevoAlias.replace(especiales[i], normales[i]);
  nuevoAlias = nuevoAlias.split(especiales[i]).join(normales[i]);
  i++
 }

 return nuevoAlias;

}