El código


function codifica(texte) {

ref="0123456789abcdefghijklmnopqrstuvwxyz.-~ABCDEFGHIJKLMNOPQRSTUVWXYZ"
resultado=""
while ( i<texte.length) {
cadena=texte.substring (i, i+1);
numero=ref.indexOf (cadena);
CadenaCodificada=ref.substring(numero+1, numero+2)
resultado += CadenaCodificada;
i++;

}

document.form1.resultado.value=resultado
}


La explicación dada para el bucle for es asimismo válida para este ejemplo.
Primero se define una variable de tipo cadena que contiene cualquier carácter alfanumérico ya sean letras (mayúsculas o minúsculas) o números.
ref="0123456789abcdefghijklmnopqrstuvwxyz.-~ABCDEFGHIJKLMNOPQRSTUVWXYZ"
esta variable es llamada ref.

El propósito del ejemplo es el de convertir letras o números basándose en su posición relativa dentro de la cadena ref. Para ello primero se localiza la letra o el número dentro de la misma.

Por ejemplo, si introducimos la letra A se codifica según su posición, es decir A=1, B=2 (localización de la segunda y tercera letra de la cadena, ya que se comienza a contar a partir de la posición 0). Las letras minúsculas se codifican a partir del valor de a, en este caso 10 (es el décimoprimer elemento de la cadena).

Después se ejecutará la sentencia

numero=ref.indexOf(cadena)

para localizar la letracadena dentro de ref y asignar su posición en la cadena a la variable numero
Explicaremos en próximos capítulos la propiedad indexOf con más detalle.


La segunda linea de la función,

resultado=""

inicializa la cadena con el valor de cadena vacía.("").
Esta sentencia establece que la variableresultado existe, y puede contener texto, pero por el momento esta vacia. Mas tarde se le asignará el valor final.
Ahora entramos en el núcleo de la función que es el bucle while . Empezamos con la sentencia:

while (i>texte.length) {
....
}

El bucle se ejecutará siempre que el valor de la variable i sea menor que la longitud de la cadena que se compara. La variable i se irá incrementando a cada paso del bucle (i++). Al acabar la sentencia se volverá a evaluar la condición de continuación. Si es cierta (i>longitud cadena) se continuará la iteración, incrementando así mismo el valor del contador (i). Cuando la condición se interpreta falsa no entramos en el bucle y ejecutamos la siguiente sentencia que en este caso es:

document.form1.resultado.value=resultado.

Diagrama


Ejemplo Atrás Inicio