关于区分大小写

来自Blueidea
蓝色月光讨论 | 贡献2007-12-15T10:47:27的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

在为 Flash Player 7 及更高的版本编写 ActionScript 时,代码是区分大小写的。这意味着变量的大小写稍有不同就会被视为是彼此不同的。下面的 ActionScript 代码表明了这一规则:

 // 使用混合的大小写字母
 var firstName:String = "Jimmy";
 // 全部使用小写字母
 trace(firstname); // undefined

或者,您也可以编写以下代码:

 // 在面向 Flash Player 8
 // 以及 ActionScript 1.0 或 ActionScript 2.0 的文件中
 //
 // 设置两个不同对象的属性
 cat.hilite = true;
 CAT.hilite = true;
 
 // 创建三个不同的变量
 var myVar:Number = 10;
 var myvar:Number = 10;
 var mYvAr:Number = 10;

注意 使用大小写的不同来区分变量或任何标识符不是一种好的做法。有关变量命名的更多信息,请参见ActionScript 2.0 的最佳做法和编码约定


针对 Flash Player 的版本(Flash Player 6 和更低版本)进行发布时,Flash 在"输出"面板中跟踪字符串 Jimmy。因为 Flash Player 7 和更高版本区分大小写,所以 firstName 和 firstname 是两个不同的变量(不论是使用 ActionScript 1.0 还是使用 ActionScript 2.0)。这是一个需要理解的重要概念。如果为 Flash Player 6 或更低版本创建的 FLA 文件具有大小写不匹配的变量,则在将该文件或应用程序转换为面向 Flash Player 的更新版本时,功能性和文件可能会受到破坏。

因此,最好遵循一致的大小写约定,如本手册中采用的约定。这样做还更便于区分变量、类和函数名称。不要使用大小写来区别两个标识符。更改实例、变量或类名称 - 不要仅更改大小写。有关编码约定的更多信息,请参见ActionScript 2.0 的最佳做法和编码约定

如果使用的 Web 服务使用它自己的变量命名规则以及将变量从服务器返回到 SWF 文件时的大小写使用规则,则区分大小写具有很大的影响。例如,如果使用 ColdFusion Web 服务,来自某个结构或对象的属性名称可能需要全部大写,如 FIRSTNAME。除非在 Flash 中使用同样的大小写,否则可能会遇到意想不到的结果。


注意 区分大小写还会影响加载到 SWF 文件中的外部变量,例如使用 LoadVars.load() 加载的外部变量。


外部脚本会区分大小写,例如 ActionScript 2.0 类文件、使用 #include 命令导入的脚本,以及 FLA 文件中的脚本。如果遇到运行时错误并且您要导出到多个版本的 Flash Player,则应该同时检查外部脚本文件和 FLA 文件中的脚本,以确认您使用的是一致的大小写形式。

区分大小写是在每个 SWF 文件的基础上实施的。如果一个严格(区分大小写)的 Flash Player 8 应用程序调用非严格的 Flash Player 6 SWF 文件,则在 Player 6 SWF 文件中执行的 ActionScript 是非严格的。例如,如果使用 loadMovie() 将 Flash Player 6 SWF 文件加载到 Flash Player 8 SWF 文件中,则第 6 版 SWF 文件保持不区分大小写,而第 8 版 SWF 文件则作为区分大小写处理。

在启用语法颜色后,大小写正确的语言元素在默认情况下为蓝色。有关详细信息,请参见关于保留字