2. 创建变量
创建一个变量在术语中称为声明。如果还使用银行账号的比喻,那么声明等同于“开设一个账号”,在这一步中我们正式地使变量事实存在。当一个变量被首次声明时,它是空的 —— 好像一张白纸等着你在上面写点什么,在这种状态下,该变量包含一个特殊的值,称为:undefined(未定义或无数据)。 为声明一个新变量,我们使用var语句。例如: var speed; var bookTitle; var x;
单词var告诉解释器我们正在声明一个变量,而随后的文本,如speed,bookTitle,或者x,都成为我们的新变量名。我们可以在任何能够附着代码的地方创建变量:一个关键帧、一个按钮、或一个电影剪辑。
我们也能够使用一个var语句来声明多个变量,象这样: var x, y, z;
不过,这样做削弱了我们为相邻的每个变量加注释的能力。
一旦某个变量被创建,我们可以为其赋值。但是,在我们学习如何为变量赋值之前,让我们考虑一些变量声明中的敏感细节。
1.变量自动生成 许多编程语言都要求在将数据存入变量之前必须首先声明变量;忽略声明会导致错误发生。ActionScript并不是那么严格,如果我们向一个并不存在的变量(未声明的变量)赋值,解释器会为我们创建一个新变量。银行,继续那个比喻,会自动地开设一个账号 —— 当你还没有账号但是试图做第一次存款时。
当然,这种便利需要代价。如果我们不主动声明变量,在检查代码的时候就不会有详细的程序清单作为参考;此外,用var语句显式地声明变量和由解释器隐式地声明变量(即允许自动生成变量)对比,有时会产生不同的结果。先声明然后使用(即显式声明)是最安全的方式,贯穿本书,我们将全部使用显式声明变量的方式。
2.合法变量名 在开始创建变量之前,首先要明了变量名: √ 变量名必须由且仅由字母、数字,和下划线组成。任何空格、破折号、或其他的标点符号都是不被允许的。 √ 变量名必须由且仅由字母或下划线开头。 √ 变量名必须不能超过255个字符。好吧,好吧,这是一句谎话,不过,如果你的变量名真的超过了255个字符,请重新评估一下你的变量命名策略吧。 √ ActionScript的变量名是大小写不敏感的。大写字母和小写字母被认为是完全一样的,尽管如此,你仍应该保持变量名使用的一致性。
这是一些合法的变量名: var first_name; var counter; var reallyLongVariableName; var i;
而这些是不合法的变量名,它们将导致错误的发生: var 1first_name; // starts with a number var variable name with space; // contains spaces var another-illegal-name; // contains hyphens
2.1创建动态命名变量 尽管动态地创建变量名是很罕见的情况,但是,程序化地产生变量名仍是可能发生的事情。从任何表达式中创建一个变量名都需要使用set语句。例如,我们把值“bruce”赋给变量player1name: var i = 1; set ("player" + i + "name", "bruce");
数组和对象为我们提供了跟踪动态命名数据的更有效的手段,并且它们将用于替代动态的变量名,这些将在以后的章节中讨论。
3.在程序开始处声明变量 在每个电影的主脚本区的开始处声明变量是很好的习惯。所谓的主脚本区通常是紧随在电影预载部分之后的第一个关键帧。为了以后能容易地辨识变量,请确保为每个变量加注释以解释其用途。组织良好的脚本开端应该看起来象这样: // ^^^^^^^^^^^^^^^^^^^^^^ // initialize variables // ^^^^^^^^^^^^^^^^^^^^^^ var ballSpeed; // velocity of ball, max 10 var score; // player's current score var hiScore; // high score (not saved between sessions) var player1; // name of player 1, supplied by user
我们可以在创建变量的同时给它们赋初值,象这样: var ballSpeed = 5; // velocity of ball, max 10, default 5 var score = 0; // player's current score var hiScore = 0; // high score (not saved between sessions)
出处:蓝色理想
责任编辑:无意
上一页 变量(1)- 概述 下一页 变量(3)- 变量赋值
◎进入论坛Flash专栏版块参加讨论
|