Estrutura léxica de JavaScript
A estrutura léxica nos indica cómo debemos escribir programas nunha linguaxe de programación. Especifica cousas como a aparencia dos nomes das variables, os caracteres que se empregan para comentarios e cómo se separan entre si as instrucións do programa.
Como introducir JavaScript no documento HTML
Podemos introducir JavaScript nun documento HTML de dous xeitos:
- Insertándoo nun documento HTML entre un conxunto de etiquetas <script>.
- Insertándoo dentro dunha etiqueta HTML para responder a un evento.
JavaScript insértase dentro dos documentos HTML por medio das etiquetas de comezo e fin de script:
<script language="javascript">
//Aquí vai o script ...
</script>
Vexamos un primeiro exemplo de JavaScript:
<!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>Ola mundo con JavaScript</title>
</head>
<body>
<center>
<script language="javascript">
<!-- Ocúltase información para navegadores antigos
document.write("¡Ola mundo!");
// final do comentario -->
</script>
</center>
</body>
</html>
- Vese que despois da primeira etiqueta de script inclúense unhas etiquetas de comentarios que engloban o código fonte JavaScript, e que evitan que dito código se mostre como texto plano nos navegadores que non entenden as etiquetas <script>.
- As palabras document e write son recoñecidas por JavaScript e usadas conxuntamente para realizar unha acción, neste caso escribir no documento o texto incluído no interior dos parénteses.
- As palabras document e write deben escribirse en minúsculas obrigatoriamente.
Tokens
Os tokens son as palabras, as frases ou os caracteres mais pequenos que o JavaScript pode entender.
Os tokens de JavaScript agrúpanse en cinco categorías: identificadores, palabras reservadas, literais, operadores e separadores.
A sintaxe da linguaxe é o conxunto de regras e restriccións que nos indican como combinar estes tokens.
Conxunto de caracteres
- Os programas JavaScript escríbense empregando o conxunto de caracteres Unicode.
- Distinguir maiúsculas e minúsculas.
- JavaScript é unha linguaxe que distingue maiúsculas de minúsculas, o que significa que as palabras clave, as variables, os nomes de función e calquera outro símbolo da linguaxe débense escribir de xeito consistente.
- Neste punto, hai que ter en conta que XHTML non distingue entre maiúsculas e minúsculas. Polo que será unha boa norma empezar a escribir todas as propiedades e obxectos en "minúsculas".
- Espazos en branco e saltos de liña.
- JavaScript ignora os espazos, as tabulacións e as novas liñas que aparecen entre os símbolos no programa. Esto facilita o formateo e sangrado do código dunha forma consistente para facilitar a súa lectura e comprensión.
- Puntos e comas opcionais.
- En JavaScript a unha simple instrución séguelle, normalmente, un signo de punto e coma (;), igual que en C, C++ e Java. Sen embargo, en JavaScript podemos omitir dito signo se cada unha das nosas instrucións se coloca nunha liña independente (pero isto non é unha práctica de programación).
Comentarios
- Calquera texto comprendido entre // e o final dunha liña trátase como comentario e JavaScript o ignora.
- Calquera texto comprendido entre os caracteres /* e */ tamén se trata como comentario.
<script language="javascript">
// Isto é un comentario nunha liña
/* Isto é un comentario
en varias liñas*/
</script>
Literais
Un literal é un valor dun dato que aparece directamente nun programa. Os seguintes son todos literais:
12 // O número doce 1.2 // O número un punto dous "ola mundo" // Unha cadea de texto 'ola' // Outra cadea de texto true // Un valor booleano false // Outro valor booleano /javascript/gi // Un literal de "expresión regular" null // Ausencia dun obxecto { x:1, y:2 } // Un inicializador de obxecto [1,2,3,4,5] // Un inicializador de matriz
Identificadores
Un identificador é simplemente un nome. Utilízanse para denominar variables e funcións e para proporcionar etiquetas para determinar bucles no código JavaScript.
As normas son as mesmas que en Java e outros moitos:
- O primeiro carácter debe ser unha letra, un signo de subliñado (_) ou un signo de dólar ($).
- Os seguintes caracteres poden ser unha letra, un signo de subliñado ou un signo de dólar.
Palabras reservadas
Por palabras reservadas enténdense aquelas que non se poden empregar como identificadores.
- A seguinte táboa recolle as palabras clave estandarizadas:
break | do | if | switch | typeof |
case | else | in | this | var |
catch | false | instanceof | throw | void |
continue | finally | new | true | while |
default | for | null | try | with |
delete | function | return |
- Esta outra táboa que presentamos a continuación recolle unha lista de palabras clave reservadas, estas non se utilizan actualmente pero resérvanse como posibles extensións futuras da linguaxe:
abstract | double | goto | native | static |
boolean | enum | implements | package | super |
byte | export | import | private | synchronized |
char | extends | int | protected | throws |
class | final | interface | public | transient |
const | float | long | short | volatile |
debugger |
- Tamén é recomendable non empregar: as, is, namespace e use.
- Tampouco se deben empregar as palabras que recolle a seguinte lista, estas son variables e funcións globais definidas polo estándar:
arguments | encodeURI | Infinity | Object | String |
Array | Error | isFinite | parseFloat | SyntaxError |
Boolean | escape | isNaN | parseInt | TypeError |
Date | eval | Math | RangeError | undefined |
decodeURI | EvalError | NaN | ReferenceError | unescape |
decodeURIComponent | Function | Number | RegExp | URIError |
Tratamento de variables en JavaSript
Unha variable é o nome que se lle da a unha posición de memoria do equipo na que se almacena información.
Nomear variables
- O nome das variables en JavaScript debe estar formado por unha ou mais letras, díxitos e guións baixos.
- Non pode comezar por un número.
- JavaScript distingue entre maiúsculas e minúsculas.
Declarar de variables
- Para dicir a JavaScript que un identificador é unha variable, esta débese declarar primeiro.
- Para declarar variables en JavaScript utilízase a palabra reserva var seguida do nome da nova variable.
- Para declarar mais dunha variable na mesma sentencia utilízase a coma como separador.
- A inicialización das variables realízase empregando o operador de asignación (=).
- Pódese inicializar unha variable ao mesmo tempo que se declara ou en calquera outro punto despois no script.
- JavaScript lee o código de arriba cara abaixo realizando en cada paso a instrución lida. Ata que o programa inicializa unha variable esta permanece indefinida (undefined) e de ela non se pode extraer ningunha información.
- Pode declararse tamén unha variable simplemente iniciándoa e sen utilizar a palabra reserva var. É dicir, asignar un valor a unha nova variable sen declarala antes con var, fai que JavaScript a declare automaticamente.
Tipos de variables
- En JavaScript existen os seguintes tipos de datos válidos: number, boolean, string, function e object.
- Inicializar unha variable con null é unha boa forma de previr erros se non se está seguro de utilizar a variable.
- JavaScript é unha linguaxe de programación "debilmente tipado", polo que non se require que se definan os tipos de datos e non se impiden que se asignen diferentes tipos de datos a unha mesma variable.
- Vexamos un exemplo:
<script language="javascript" type="text/javascript">
<!--Ocultar script para navegadores antigos
var lonxitude;
lonxitude = 5+3;
document.writeln(lonxitude);
lonxitude="8 metros";
document.writeln(lonxitude);
//Fin da ocultación
-->
</script>
Ámbito das variables
O ámbito dunha variable fai referencia á área ou áreas dentro do programa nas que a variable pode ser referenciada.
- Variables globais: As declaradas no interior dun script colocado na cabeceira ou no corpo dun documento.
- Variables locais: As variables declaradas no interior dunha función.
Operadores
Os operadores son símbolos ou identificadores que representan o modo que unha combinación de expresións se evalúan ou manipulan.
O operador que mais se emprega é o "operador de asignación" (=).
Funcións
Unha función é un script que se pode chamar polo seu nome en calquera momento.
Vexamos un exemplo:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
<!--Ocultar script para navegadores antigos
function saudo() {
document.write("¡Ola mundo!");
}
//Fin da ocultación
-->
</script>
<title>Ola mundo en Javascript</title>
</head>
<body>
<script language="javascript" type="text/javascript">
<!--Ocultar script para navegadores antigos
document.write("Imos chamar á función...<br />");
saudo();
document.write("<br />...Feito");
//Fin da ocultación
-->
</script>
</body>
</html>
--Vieites 10 feb 2009