buenas,
si bien entiendo que el tema intenta ser un aporte, soy del pensamiento que también está abierto al debate para discutir opiniones e ideas que ayuden a desarrollar un conocimiento más profundo del tema. bajo este pretexto, en mi opinión personal la función o propósito carece de sentido alguno. me explico...
tomando como ejemplo el primer replace, ¿cuántos caracteres crees que hay en este string para javascript?
'\u00a0'
. la resputa: uno.
alert("\u00a0".length);
internamente javascript interpretará el string como un solo carácter y lo convertirá a su equivalente según corresponda. de modo que, por ejemplo, para la apertura de exclamación (¡), el código
str = str.replace('¡','\u00a1');
se traduce internamente a
str = str.replace('¡', '¡');
. o sea, estás realizando una subtitución innecesaria ya que estás intercambiando el carácter exactamente por el mismo, con la única distinción en que uno es literal y el otro es unicode.
Cita: ...para todas aquellas personas que como yo estuvimos buscando como imprimir los caracteres especiales desde el javascript...
en la mayoría de los casos, el problema de escribir caracteres fuera del
idioma natural, es debido a la codificación en que se graba el script. o sea, es exactamente el mismo tema como los casos de documentos html con problema de codificación.