变量名称仅能包含字母、数字和美元符号 ($)。变量名称不能以数字开头。变量必须是唯一的,且在 Flash Player 7 和更高版本中要求区分大小写。例如,避免使用下列变量名称:
my/warthog = true; // 包括一个斜杠
my warthogs = true; // 包括一个空格
my.warthogs = true; // 包括一个点
5warthogs = 55; // 以一个数字开头
请尽可能对变量使用严格数据类型指定,因为这样做会在以下几个方面帮助您:
-
添加代码完成功能,该功能可加快编码速度。
-
由于在"输出"面板中生成错误,因此在编译 SWF 文件时不会出现"无提示故障"(silent failure) 的情况。这些错误可帮助您查找和修复应用程序中的问题。
若要对变量添加数据类型,则必须使用 var 关键字定义变量。在下面的示例中,创建 LoadVars 对象时应使用严格数据类型指定:
var paramsLv:LoadVars = new LoadVars();
严格数据类型指定提供代码完成功能,并确保 paramsLv 的值包含 LoadVars 对象。严格数据类型指定还可确保 LoadVars 对象不会用于存储数字数据或字符串数据。因为严格类型指定依赖于 var 关键字,所以无法向对象或数组中的全局变量或属性添加严格数据类型指定。有关对变量进行严格类型指定的详细信息,请参阅关于指定数据类型和严格数据类型指定。
注意 |
| 严格数据类型指定不会减慢 SWF 文件的速度。在编译时(创建 SWF 文件时),而不是在运行时进行类型检查。 |
当命名代码中的变量时请遵循以下准则:
-
所有变量名称必须是唯一的。
-
不要使用大小写不同的相同变量名称。
例如,不要在应用程序中将 firstname 和 firstName 用于两个不同的变量。尽管在 Flash Player 7 和更高版本中名称是区分大小写的,但使用具有不同大小写的相同变量名称可能扰乱程序员对代码的阅读,也可能给未强制区分大小写的早期版本的 Flash 带来问题。
-
不要将 ActionScript 1.0 或 2.0 中的部分字用作变量名称。
特别是不能将关键字用作实例名称,因为它们可能会引起代码错误。不要依赖区分大小写来避免冲突并使代码正常运行。
-
不要使用作为公共编程构造组成部分的变量。
如果知道某些字是其它编程语言中的语言构造,则即使 Flash 不包括或不支持这些语言构造,也不要使用这些语言构造。例如,不要将下列关键字用作变量:
textfield = "myTextField";
switch = true;
new = "funk";
-
始终在代码中添加数据类型注释。
向变量添加类型注释也称为"对变量使用严格数据类型"或"对变量执行严格的类型检查",它非常重要,可以:
-
在编译时生成错误,因此应用程序不会在无提示的情况下失败。
-
触发代码完成。
-
帮助用户了解您的代码。
有关添加类型注释的信息,请参阅关于指定数据类型和严格数据类型指定。
-
-
不要过多使用 Object 类型。
数据类型注释应力求精确,以提高性能。只有在没有适当的备选数据类型时,才使用 Object 类型。
-
在保持意义明确的同时尽可能地保持变量简短。
虽然要确保变量名称具有一定描述性,但也不能太过,不能使用过于复杂和过长的名称。
-
为了在循环中起到优化作用,请只使用单字符变量名称。
另外,您还可以在循环中将单字符变量作为临时变量(例如 i、j、k、m 和 n)。仅对短循环索引,或当性能优化和速度很关键时才使用这些单字符变量名称。下面的示例演示了这种用法:
var fontArr:Array = TextField.getFontList();
fontArr.sort();
var i:Number;
for (i = 0; i<fontArr.length; i++) {
trace(fontArr[i]);
}
-
变量以小写字母开头。
首字母大写的名称应保留给类、接口,等等名称。
-
对于相连接的词使用混合大小写。
例如,使用 myFont,而不要使用 myfont。
-
不要使用首字母缩写词和缩写词。
此规则只有一种例外情况,即首字母缩写词或缩写词表示这一术语的标准使用方式,例如 HTML 或 CFM。对于常用的首字母缩写词,应使用混合大小写,如 newHtmlParser 而不用newHTMLParser 以提高可读性。
-
在创建一组相关的变量名称时,应使用互补对。
例如,您可以使用互补对来指示游戏中的最低得分和最高得分,如下所示:
var minScoreNum:Number = 10; // 最低得分
var maxScoreNum:Number = 500; // 最高得分