Aunque JavaScript se parece a Java, no es lo mismo! Java es un lenguaje de programación mucho más complejo que JavaScript. JavaScript está hecho para ser un lenguaje bastante fácil de entender. A los autores del JavaScript no les debió haber importado mucho el tema de la programación. Por esta razón, algunos elementos de Java no son aceptados en JavaScript.
Para una información mas concisa acerca de este
tema, por favor lea la introducción obsequiada por Netscape.
Ahora quisiera mostrar algunos pequeños scripts, de modo que usted pueda aprender de que modo estos son implementados dentro de los documentos de HTML y mostrar con que posibilidades se cuenta en este nuevo lenguaje script. Comenzaré con un script muy pequeño el cual solo mostrará texto dentro de un documento HTML.
<html> <head> Mi primer JavaScript! </head> <body> <br> Este es documento normal en HTML. <br> <script language="LiveScript"> document.write("Esto es JavaScript!") </script> <br> Otra vez en HTML. </body> </html>Si usted está usando Netscape 2.0 por el momento, tendrá la posibilidad de ver este script trabajando. Si su browsers no es compatible con JavaScript entonces este escrito se debe ver un poco extraño...
Este es un documento normal en HTML.
Otra vez en HTML.
Debo admitir que este script no es muy funcional. Usted puede escribir eso en HTML mucho más rápido y corto. Pero lo que yo quería mostrar es como se deben usar los tags <script>. Usted puede usar estos tags en su documento en el lugar que desee.
No quiero molestarlos con algunos scripts estupidos. Así que iremos a las funciones. Esto tampoco es difícil de entender, créme, es mucho mas útil! Las funciones son invocadas por eventos iniciados por el usuario. Por esto parece razonable mantenerlas dentro de los tags <head>. Ellos son cargados antes de que el usuario puedea hacer algo que llame una función. Los scripts pueden ser ubicados como comentario para asegurarse de que los browsers obsoletos no muestren el script por si solos.
<html> <head> <script language="LiveScript"> function pushbutton() { alert("Hola!"); } </script> </head> <body> <form> <input type="button" name="Button1" value="Presióneme" onclick="pushbutton()"> </form> </body> </html>Si desea probar esta función ya mismo y está usando Netscape 2.0 entonces por favor presione el botón.
Este script creará un botón que cuando es
presionado muestra una ventana diciendo 'Hola!'. No es esto grandioso?
Además, qué está sucediendo en este script? Primero
la función se carga y es guardada en memoria. Entonces un botón
es hecho con el tag normal <form> (HTML). Hay algo completamente nuevo
con el tag <input>. Allí puede ver 'onclick'. Esto le dice al
browser que función tiene que invocar cuando este botón es
presionado (logicamente si el browser es compatible con JavaScript). La
función 'pushbutton()' se aclara en el encabezado (<head>). Cuando
el botón es presionado esta función se ejecuta. Existe otra
cosa nueva en este script el método 'alert'. Esto método
ya es declarado en JavaScript- solo se necesita invocarlo. Existen muchos
métodos diferentes los cuales se pueden invocar. Aquí mostraré
algunos. Puede encontar una descripción completa en el home page
de Netscape. Creo que esa lista se ira volviendo mas y mas extensa en el
futuro. Pero por el momento hay algunas cosas divertidas que se pueden
hacer con los métodos dados.
(No creo que el método 'alert' esté planeado
para ser usado en esta forma, pero aquí estamos sólo aprendiendo
y de esta manera es completamente fácil de aprender. Espero me disculpen...)
Ahora ya vamos lejos. En efecto tenemos un gran número de posibilidades tan solo agregando funciones a nuestros scripts. Ahora le mostraré como puede leer algo que un usuario haya insertado en una forma.
<html> <head> <script language="LiveScript"> <!-- esconde el script de viejos browsers function getname(str) { alert("Hola "+ str+"!"); } // end hiding contents --> </script> </head> <body> Por favor, escriba su nombre: <form> <input type="text" name="name" onBlur="getname(this.value)" value=""> </form> </body> </html>Ahora puede probar este script de nuevo:
Por favor escriba su nombre:
Otra vez tenemos nuevos elementos implementados en este script. Primero usted habrá notado el comentario en el script. De esta forma se puede esconder el script de los browsers obsoletos que no ejecutan scripts. Usted debe seguir el orden mostrado! El principio del comentario debe estar justo después del primer tag <script>. El comentario termina justo antes del <script> tag. En este documento HTML usted tiene una forma donde el usuario puede escribir su nombre. El 'onBlur' en el tag <input> le dice al programa cliente que función es la que tiene que invocar cuando algo se introduce en esta forma o casilla. La función 'getname(str)' será invocada cuando usted deja en blanco esta forma ('leave') o presiona 'enter' sin haber escrito nada. La función tomará el 'string' usted escribió a través del comando 'getname(this.value)'. 'This.value' significa el valor que usted escribió en la forma.
Creo que lo siguiente tan 'vacano' como bueno. Vamos a implementar la función de la fecha dentro de nuestro script. De modo que si usted hace una página en HTML, puede hacer que el usuario vea la última modificació del documento sin que se tenga que escribir la fecha. Simplemente se escribe un programa en script. Cuando se hagan pequeños cambios en el futuro, la fecha cambia automaticamente.
<html> <body> Esta es una simple página en HTML. <br> Ultima modificación: <script language="LiveScript"> <!-- oculta el script de los browsers obsoletos document.write(document.lastModified) // termina de esconder el contenido --> </script> </body> </html>En mi primera publicación de esta introducción había escrito lastmodified. Este fue el estilo que Netscape 2.0 beta2 quería. Ahora tengo Netscape 2.0 beta4 y ha cambiado a lastModified. De modo que dese cuenta que JavaScript es bastante sensitivo. lastmodified y lastModified son algo diferente. Esta es la razón por la cual la primera publicación no tenía fecha al final de la página cuando era vista con algunas versiones de Netscape.
Por el momento esta propiedad parece no funcionar en cualquier máquina. Compuserve muestra solo la fecha 1/1/1970. Bueno, le puedo decir que esto no es completamente verdadero. aunque esta propiedad trabaja muy bien en mi PC. Usted debe probarla en su máquina. Yo solo tengo que eliminarla por el momento.
Hay muchas mas cosas que usted puede hacer. Solo heche un vistazo en los documentos conservados por Netscape. Yo complementaré este curso en el futuro, además hoy en día las cosas se están moviendo bastante rápido, asi que no sería sorprendente si la próxima semana sucede un enorme cambio en JavaScript!
Stefan Koch