Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > El lenguaje ActionScript y su sintaxis > Sintaxis | |||
La sintaxis de un lenguaje define un conjunto de reglas que deben cumplirse al escribir código ejecutable.
El lenguaje ActionScript 3.0 distingue mayúsculas de minúsculas. Los identificadores que sólo se diferencien en mayúsculas o minúsculas se considerarán identificadores distintos. Por ejemplo, el código siguiente crea dos variables distintas:
var num1:int; var Num1:int;
El operador punto (.) proporciona una manera de acceder a las propiedades y métodos de un objeto. La sintaxis con punto permite hacer referencia a una propiedad o un método de clase mediante un nombre de instancia, seguido del operador punto y el nombre de la propiedad o el método. Por ejemplo, considere la siguiente definición de clase:
class DotExample
{
public var prop1:String;
public function method1():void {}
}
La sintaxis con punto permite acceder a la propiedad prop1 y al método method1() utilizando el nombre de la instancia creada en el código siguiente:
var myDotEx:DotExample = new DotExample(); myDotEx.prop1 = "hello"; myDotEx.method1();
Se puede utilizar la sintaxis con punto al definir paquetes. El operador punto se utiliza para hacer referencia a paquetes anidados. Por ejemplo, la clase EventDispatcher reside en un paquete denominado events que está anidado dentro del paquete denominado flash. Se puede hacer referencia al paquete events mediante la siguiente expresión:
flash.events
También se puede hacer referencia a la clase EventDispatcher mediante esta expresión:
flash.events.EventDispatcher
ActionScript 3.0 no admite la sintaxis con barras. Esta sintaxis se utilizaba en versiones anteriores de ActionScript para indicar la ruta de un clip de película o de una variable.
Un literal es un valor que aparece directamente en el código. Todos los ejemplos siguientes son literales:
17 "hello" -3 9.4 null undefined true false
Los literales también pueden agruparse para formar literales compuestos. Los literales de matrices se escriben entre corchetes ([]) y utilizan la coma para separar los elementos de matriz.
Un literal de matriz puede utilizarse para inicializar una matriz. En los siguientes ejemplos se muestran dos matrices que se inicializan mediante literales de matriz. Se puede utilizar la sentencia new y pasar el literal compuesto como parámetro al constructor de la clase Array, pero no se puede asignar valores literales directamente al crear instancias de las siguientes clases principales de ActionScript. Object, Array, String, Number, int, uint, XML, XMLList y Boolean.
// Utilizar sentencia new. var myStrings:Array = new Array(["alpha", "beta", "gamma"]); var myNums:Array = new Array([1,2,3,5,8]); // Asignar literal directamente. var myStrings:Array = ["alpha", "beta", "gamma"]; var myNums:Array = [1,2,3,5,8];
Los literales también se pueden utilizar para inicializar un objeto genérico. Un objeto genérico es una instancia de la clase Object. Los literales de objetos se escriben entre llaves ({}) y utilizan la coma para separar las propiedades del objeto. Cada propiedad se declara mediante el signo de dos puntos (:), que separa el nombre de la propiedad del valor de la propiedad.
Se puede crear un objeto genérico utilizando la sentencia new y pasar el literal de objeto como parámetro al constructor de la clase Object, o bien asignar el literal de objeto directamente a la instancia que se está declarando. En el siguiente ejemplo se crea un nuevo objeto genérico y se inicializa el objeto con tres propiedades ( propA, propB y propC) establecidas en los valores 1, 2 y 3 respectivamente:
// Utilizar sentencia new.
var myObject:Object = new Object({propA:1, propB:2, propC:3});
// Asignar literal directamente.
var myObject:Object = {propA:1, propB:2, propC:3};
Para más información, consulte Fundamentos de la utilización de cadenas, Fundamentos de la utilización de expresiones regulares y Inicialización de variables XML.
Se puede utilizar el signo de punto y coma (;) para finalizar una sentencia. Como alternativa, si se omite el signo de punto y coma, el compilador dará por hecho que cada línea de código representa a una sentencia independiente. Como muchos programadores están acostumbrados a utilizar el signo de punto y coma para indicar el final de una sentencia, el código puede ser más legible si se usan siempre signos de punto y coma para finalizar las sentencias.
El uso del punto y coma para terminar una sentencia permite colocar más de una sentencia en una misma línea, pero esto hará que el código resulte más difícil de leer.
Se pueden utilizar paréntesis (()) de tres maneras en ActionScript 3.0. En primer lugar, se pueden utilizar paréntesis para cambiar el orden de las operaciones en una expresión. Las operaciones agrupadas entre paréntesis siempre se ejecutan primero. Por ejemplo, se utilizan paréntesis para modificar el orden de las operaciones en el código siguiente:
trace(2 + 3 * 4); // 14 trace( (2 + 3) * 4); // 20
En segundo lugar, se pueden utilizar paréntesis con el operador coma (,) para evaluar una serie de expresiones y devolver el resultado de la expresión final, como se indica en el siguiente ejemplo:
var a:int = 2; var b:int = 3; trace((a++, b++, a+b)); // 7
Por último, se pueden utilizar paréntesis para pasar uno o más parámetros a funciones o métodos, como se indica en el siguiente ejemplo, que pasa un valor String a la función trace():
trace("hello"); // hello
El código ActionScript 3.0 admite dos tipos de comentarios: comentarios de una sola línea y comentarios multilínea. Estos mecanismos para escribir comentarios son similares a los equivalentes de C++ y Java. El compilador omitirá el texto marcado como un comentario.
Los comentarios de una sola línea empiezan por dos caracteres de barra diagonal (//) y continúan hasta el final de la línea. Por ejemplo, el código siguiente contiene un comentario de una sola línea:
var someNumber:Number = 3; // un comentario de una sola línea
Los comentarios multilínea empiezan con una barra diagonal y un asterisco (/*) y terminan con un asterisco y una barra diagonal (*/).
/* Esto es comentario multilínea que puede abarcar más de una línea de código. */
Las palabras reservadas son aquellas que no se pueden utilizar como identificadores en el código porque su uso está reservado para ActionScript. Incluyen las palabras clave léxicas, que son eliminadas del espacio de nombres del programa por el compilador. El compilador notificará un error si se utiliza una palabra clave léxica como un identificador. En la tabla siguiente se muestran las palabras clave léxicas de ActionScript 3.0.
|
as |
break |
case |
catch |
|
class |
const |
continue |
default |
|
delete |
do |
else |
extends |
|
false |
finally |
for |
function |
|
if |
implements |
import |
in |
|
instanceof |
interface |
internal |
is |
|
native |
new |
null |
package |
|
private |
protected |
public |
return |
|
super |
switch |
this |
throw |
|
to |
true |
try |
typeof |
|
use |
var |
void |
while |
|
with |
|
|
|
Hay un pequeño conjunto de palabras clave, denominadas palabras clave sintácticas, que se pueden utilizar como identificadores, pero que tienen un significado especial en determinados contextos. En la tabla siguiente se muestran las palabras clave sintácticas de ActionScript 3.0.
|
each |
get |
set |
namespace |
|
include |
dynamic |
final |
native |
|
override |
static |
|
|
También hay varios identificadores que a veces se llaman futuras palabras reservadas. Estos identificadores no están reservados por ActionScript 3.0, aunque algunos de ellos pueden ser tratados como palabras clave en software que incorpore ActionScript 3.0. Se pueden utilizar muchos de estos identificadores en los programas, pero Adobe recomienda no hacerlo, ya que podrían aparecer como palabras clave en una versión posterior del lenguaje.
|
abstract |
boolean |
byte |
cast |
|
char |
debugger |
double |
enum |
|
export |
float |
goto |
intrinsic |
|
long |
prototype |
short |
synchronized |
|
throws |
to |
transient |
type |
|
virtual |
volatile |
|
|
ActionScript 3.0 admite la sentencia const, que se puede utilizar para crear constantes. Las constantes son propiedades con un valor fijo que no se puede modificar. Se puede asignar un valor a una constante una sola vez y la asignación debe realizarse cerca de la declaración de la constante. Por ejemplo, si se declara una constante como un miembro de una clase, se puede asignar un valor a esa constante únicamente como parte de la declaración o dentro del constructor de la clase.
El código siguiente declara dos constantes. Se asigna un valor a la primera constante, MINIMUM, como parte de la sentencia de declaración. A la segunda constante, MAXIMUM, se le asigna un valor en el constructor.
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
public function A()
{
MAXIMUM = 10;
}
}
var a:A = new A();
trace(a.MINIMUM); // 0
trace(a.MAXIMUM); // 10
Se producirá un error si se intenta asignar de otra manera un valor inicial a una constante. Por ejemplo, si se intenta establecer el valor inicial de MAXIMUM fuera de la clase, se producirá un error en tiempo de ejecución.
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
}
var a:A = new A();
a["MAXIMUM"] = 10; // error en tiempo de ejecución
La API de Flash Player define un amplio rango de constantes que se pueden utilizar. Por convención, en ActionScript las constantes se escriben en mayúsculas y las palabras que las forman se separan mediante el carácter de subrayado ( _ ). Por ejemplo, la definición de la clase MouseEvent utiliza esta convención de nomenclatura para sus constantes, cada una de las cuales representa un evento relacionado con una entrada del ratón:
package flash.events{public class MouseEvent extends Event{public static const CLICK:String = "click";public static const DOUBLE_CLICK:String = "doubleClick";public static const MOUSE_DOWN:String = "mouseDown";public static const MOUSE_MOVE:String = "mouseMove";...}}
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000049.html