<script src="http://hi.images.csdn.net/js/blog/LoadFeedbackCount.js" type="text/javascript"></script>
as3编译器错误中文说明 收藏
<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length>300) { text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } } </script><script class="blogstory">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script> as3 编译器错误中文说明
http://blog.csdn.net/liuchaojun/archive/2008/05/09/2421452.aspx
as3错误代码对应的中文说明,摘自flash9中文帮助文档
1000
对 _ 的引用不明确。
引用可能指向多项。例如,下面使用了 rss 和 xml 命名空间。每个命名空间为 hello() 函数定义了不同的值。trace(hello()) 语句返回此错误,因为它无法确定使用哪个命名空间。
private namespace rss; private namespace xml; public function ErrorExamples() { use namespace rss; use namespace xml; trace(hello()); } rss function hello():String { return "hola"; } xml function hello():String { return "foo"; }
通过使用具体的引用来纠正不明确的引用。下面的示例 使用 namespace::function 这种格式指定所要使用的命名空间:
public function ErrorExamples() { trace(rss::hello()); trace(xml::hello()); }
1003
不允许将访问说明符与命名空间属性结合使用。
不能在定义中同时使用访问说明符(如私有或公共)和命名空间属性。
1004
找不到命名空间,或者命名空间不是编译时常量。
该命名空间未知,或是运行时可能具有不同值的表达式。检查命名空间的拼写及其定义的导入是否正确。
1006
super 表达式只能在类实例方法的内部使用。
1007
super 语句只能在类实例构造函数的内部使用。
不能在静态成员的内部使用 super 语句。只能在类实例的内部使用 super 语句。
1008
属性无效。
1010
override 属性只能在类的属性定义中使用。
不能在函数块的内部使用 override 关键字。
1011
virtual 属性只能在类的属性定义中使用。
声明的属性不属于某个类时(例如在函数块的内部声明某个变量时),不能使用 virtual 属性。
1012
static 属性只能在类内部的定义中使用。
1013
private 属性只能在类的属性定义中使用。
1014
不再支持 intrinsic 属性。
Actionscript 3.0 不支持 intrinsic 关键字。
1016
基类为 final 类。
无法扩展超类,因为它标记为 final。
1017
找不到基类 _ 的定义。
1018
类的定义 _ 重复。
1020
标记为 override 的方法必须覆盖
其它
方法。
1021
函数的定义重复。
在同一个范围内,不能使用相同的标识符名称声明多个函数。
1022
不能覆盖 final 存取器。
1023
覆盖不兼容。
标 记为 override 的函数必须与所要覆盖的函数的参数和返回类型声明完全匹配。它必须具有相同数量的参数,且每个参数的类型相同,还必须声明相同的返回类型。如果任何一个参 数是可选的,该函数也必须与此参数匹配。这两个函数还必须使用相同的访问说明符(如公共和私有等)或命名空间属性。
1024
覆盖没有标记为 override 的函数。
如果某个类中的方法覆盖基类中的方法,则必须使用 override 属性对其进行显式声明,如下面的示例所示: public override function foo():void{};
1025
不能重新定义 final 方法。
不能扩展该方法,因为它在基类中标记为 final。
1026
构造函数必须是实例方法。
1027
函数不能同时为 static 和 override 函数。
1028
函数不能同时为 static 和 virtual 函数。
1029
函数不能同时为 final 和 virtual 函数。
1030
必须指定变量参数数组的名称。
...(rest) 参数定义指定:...(rest) 之后提供的所有值都收集到任一数组中。必须指定该数组的名称,如 function foo(x,...(rest)) 表达式中所示。
1033
不支持 virtual 变量。
1034
变量不能是 native。
1035
变量不能同时为 final 和 virtual。
1037
不能嵌套包。
1038
找不到 break 语句的目标。
1039
找不到 continue 语句的目标。
1040
标签的定义重复。
1041
属性是不可调用的。
1042
this 关键字不能在 static 方法中使用。它只能在实例方法、函数闭包和全局代码中使用。
不能在静态成员的内部使用 this 关键字,因为 this 可能没有上下文。
1043
命名空间未定义。
1044
接口方法 _(属于命名空间 _)未经类 _ 实现。
1045
找不到接口 _。
1046
找不到类型,或者类型不是编译时常量 _。
用 作类型声明的类未知,或是运行时可能具有不同值的表达式。检查导入的类是否正确以及该类的包位置是否尚未更改。此外,检查包含代码的包(不是导入的类)是 否正确定义(例如,确保使用正确的 Actionscript 3.0 包语法,而不是 Actionscript 2.0 包语法)。如果所要引用的类没有在使用的命名空间中定义或未定义为公共,也会出现该错误:
public class Foo{}
如果正在使用 Flex™ Builder™ 2 并且该类存在于库中,请确保为项目设置类路径。
1047
参数的初始值未知,或不是编译时常量。
用作该参数默认值的值未定义或在运行时可能具有不同的值。检查初始值设定项的拼写是否正确,以及初始值设定项的值是不是一个会在运行时导致产生不同值的表达式。
1048
方法不能用作构造函数。
不能创建类方法的实例。只有全局函数才能在 new 表达式中使用。 class D { function xx() { return 22; } } var d
= new D(); var x = new d.xx(); // 错误,方法不能用作构造函数 function yy() { this.a = 22; } var z = new yy(); // 无错误,全局函数可以用作构造函数。
1049
对指定为常量的变量的赋值非法。
1050
不能赋给非引用值。
1051
返回值必须是 undefined。
正在试图在声明了 void 返回类型的方法中使用 return 语句。
1052
常量的初始值未知,或不是编译时常量。
用来初始化该常量的值是 undefined,或在运行时可能具有不同的值。检查初始值设定项的拼写是否正确,以及初始值设定项的值是不是一个会在运行时导致产生不同值的表达式。
1053
存取器类型必须匹配。
1054
setter 定义的返回类型必须是 unspecified 或 void。
不能为 setter 函数指定返回值。例如,下面的语句无效: public function set gamma(g:Number):Number;
下面的语句是 有效的:
public function set gamma(g:Number):void;
1058
属性是只写的。
1059
属性是只读的。
此属性通过 getter 函数定义,因此,可以检索该属性的值。但是,不存在为此属性定义的 setter 函数,因此,该属性是只读的。 在下面的示例中,第 3 行会生成错误,因为不存在为 xx 定义的 setter 函数:
class D { function get xx() { return 22; } } var d
= new D(); d.xx = 44; // 错误,属性是只读的
1061
调用可能未定义的方法 _(通过静态类型为 _ 的引用来调用)。
所要调用的方法未定义。
1063
无法打开文件 _。
1064
元数据无效。
无法识别此元数据。
1065
元数据的属性不能包含多个元素。
1067
将 _ 类型的值隐式强制为无关 _ 类型。
正在试图将对象转换为无法转换成的类型。如果所要转换的类不在正在转换的对象继承链中,可能会出现这种情况。仅当编译器在严格模式下运行时,才会出现这种错误。
1068
无法打开包含的文件 _。
1069
语法错误:应有定义或指令。
检查该行中的语法。
1071
语法错误:定义关键字(如 function)应在属性 _ 之后,而不是 _ 之后。
如果作者忘记在声明中使用“var”和“function”关键字,将会出现此错误。 public int z;// 应为“public var z:int;”
编译器遇到意外字符时,也会出现此错误。例如,由于缺少括号,下面使用的 trace() 函数无效(正确的语法是 trace("hello")): import
flash
.utils.trace; trace "hello"
1072
语法错误:命名空间之前应有 xml。
正确的语句语法是 default xml namespace = ns。或者缺少关键字 xml(注意小写),或者使用了错误的关键字。有关详细信息,请参阅默认的 xml 命名空间指令。
1073
语法错误:应有 catch 或 finally 子句。
1075
语法错误:如果没有“in”运算符,则不允许使用“each”关键字。
1076
语法错误:标识符之前应有左括号。
1077
应有 CaseLabel。
在 switch 块中,编译器此时应该执行 case 语句。下面的 switch 块错误地在第一个 case 语句之前包含对 print 的调用: switch(x) { trace(2); case 0: trace(0); break }
1078
标签必须是一个简单的标识符。
1079
super 表达式必须具有一个操作数。
1080
应有递增或递减运算符。
1082
括号内应有一个表达式。
1083
语法错误:遇到意外的 _。
代码行缺少某些信息。在下面的示例中,最后一个加号的后面必须带有某个表达式(如其它数字): var sum:int = 1 + 2 + ;
1084
语法错误:应有 _(_ 之前)。
此处不需要该表达式。如果错误是“程序结束之前应有右括号”,则表示代码块缺少右大括号 (})。 如果错误是“_ 之前应有左括号”,则表示条件表达式中可能遗漏括号,如下面的示例(有意出错)所示:
var fact:int = 1 * 2 * 3; if fact > 2 { var bigger:Boolean = true; }
1086
语法错误:_ 之前应有分号。
1087
语法错误:程序结束之后找到额外的字符。
1093
语法错误。
1094
语法错误:字符串文字必须在换行符之前终止。
1095
语法错误:字符串文字必须在换行符之前终止。
1097
语法错误:输入已在到达字符串文字的右引号之前结束。
1099
语法错误。
1100
语法错误:XML 没有匹配的开始和结束标签。
1102
不能删除超级后代。
1103
命名空间的定义重复。
已多次定义该命名空间。请删除或修改重复的定义。
1105
赋值的目标必须是引用值。
可以给变量赋值,但是不能将一个值赋给另外一个值。
1106
递增操作数必须是引用。
操作数必须是变量、数组中的元素或对象的属性。
1107
递增操作数无效。
操作数必须是变量、数组中的元素或对象的属性。
1108
递减操作数无效。
操作数必须是变量、数组中的元素或对象的属性。
1109
应有表达式。
代码的一部分缺少表达式。例如,下面的代码会生成此错误(if 语句中缺少某项条件): var x = (5 > 2) ? trace(x)
1110
缺少 XML 标签名称。
1112
可能会出现无限递归问题,因为此文件包含 _。
所要编译的源代码中包含的某文件中包含可能导致无限循环的其它 include 语句。例如,下面的 a.as 和 b.as 文件会生成此错误,因为每个文件都试图包含另外一个文件。 文件 a.as 中包含以下代码,它试图包含文件 b.as:
import foo.bar.baz; include "b.as" trace(2);
文件 b.as 包含以下代码,它试图包含文件 a.as:
include "a.as"
1113
在 _ 中检测到循环类型引用。
类正在尝试扩展超类。例如,如果类 B 从类 A 继承而来,则 A 不能扩展 B: class a extends b { } class b extends a { }
1114
public 属性只能在包的内部使用。
1115
internal 属性只能在包的内部使用。
1116
用户定义的命名空间属性只能在顶级的类定义中使用。
1118
将静态类型为 _ 的值隐式强制为可能无关的类型 _。
所要使用的值不是预期的类型,不存在将其转换为预期类型的隐式强制。 可能使用的是超级类型,但需要的是子类型。例如:
class A {} var a:A = new A(); class B extends A { function f() } var b : B = a // 错误
最后一个语句会出错,因为该语句尝试将类型 A 的对象赋给类型 B 的变量。
同样,下面定义的 foo() 函数采用了类型为 B 的参数。语句 foo(a); 会出错,因为该语句试图使用类型为 A 的参数:
function foo(x:B) { } foo(a);
此外,下面的语句也会出错,因为 foo2() 的返回值必须为类型 B:
function foo2():B { return new A(); }
1119
访问可能未定义的属性 _(通过静态类型为 _ 的引用来访问)。
正在尝试访问的属性对于指定对象不存在。例如,下面的代码会生成此错误,因为 int 对象没有名为 assortment 的属性: var i:int = 44; var str:String = i.assortment;
仅当编译器在严格模式下运行时,才会出现这种错误。
1120
访问未定义的属性 _。
正在试图访问未定义的变量。例如,如果尚未定义变量 huh,调用该变量时会生成此错误: huh = 55;
只有编译器在严格模式下运行时,才会出现此错误。
1121
getter 定义不能包含参数。
1122
setter 定义只能包含一个参数。
1123
setter 定义不能包含可选参数。
1124
getter 定义的返回类型不能为 void。
getter 函数模拟变量。由于变量类型不能为 void,因此不能将 getter 函数声明为返回类型 void。
1125
接口中定义的方法不能包含方法体。
1126
函数没有函数体。
1127
已多次指定属性 _。
在同一语句中多次指定了某个属性。例如,语句 public static public var x; 会生成此错误,因为该语句两次指定变量 x 是公共变量。请删除重复的声明。
1129
接口的定义 _ 重复。
请更改或删除重复的定义。
1130
构造函数不能指定返回类型。
1131
不能嵌套类。
1132
final 属性只能在类中定义的方法内使用。
1133
native 属性只能与函数定义结合使用。
1134
dynamic 属性只能与类定义结合使用。
1135
语法错误:_ 不是有效类型。
1136
参数数目不正确。数目应为 _。
函数需要的参数数目与提供的参数数目不同。例如, 下面定义的函数 goo 具有两个参数: class A { static function goo(x:int,y:int) { return(x+y); } }
下面的语句可能会出错,因为该语句提供了三个参数:
A.goo(1,2,3);
1137
参数数目不正确。不应超过 _ 个。
1138
可选参数之后不允许有必需的参数。
1139
不允许在接口中声明变量。
1140
如果参数是在 ...rest 参数定义关键字之后指定的,则只能是 Array 数据类型。
1141
一个类只能扩展另外一个类,而不能扩展接口。
1142
一个接口只能扩展另外一个接口,但 _ 是一个类。
正在试图使用接口扩展类。一个接口只能扩展另外一个 接口。
1143
override 属性只能在类中定义的方法内使用。
1144
接口方法 _(属于命名空间 _)使用类 _ 中不兼容的签名进行实现。
方法签名必须完全匹配。
1145
Native 方法不能包含方法体。
不能使用 native,因为它是一个保留关键字。
1146
构造函数不能是 getter 或 setter 方法。
1147
未指定 AS 源文件。
1149
return 语句不能在静态初始化代码中使用。
1150
protected 属性只能在类的属性定义中使用。
1151
定义 _(属于命名空间 _)存在冲突。
在 同一个范围内,不能使用相同的标识符名称声明多个变量,除非所有这些变量都声明为相同的类型。在 Actionscript 3.0 中,不同的代码块(例如在同一个函数定义中的两个 for 循环中使用的块) 视为属于同一个范围。 下面的代码示例可以正确地将变量 x 转换为相同类型:
function test() { var x:int = 3; for(var x:int = 33; x < 55; x++) trace(x); for(var x:int = 11; x < 33; x++) trace(x) }
下面的代码示例会生成错误,因为变量声明和 for 循环中的类型转换是不同的:
function test() { var x:String = "The answer is"; for(var x:int = 33; x < 55; x++) // 错误 trace(x); for(var x:unit = 11; x < 33; x++) // 错误 trace(x) }
1152
继承的定义 _(属于命名空间 _)存在冲突。
1153
只能将构造函数声明为公共函数。
1154
只能在定义中指定 public、private、protected 或 internal 之一。
1155
不能在其它函数的内部嵌套存取器。
1156
不能使用新运算符实例化接口。
1157
接口成员不能声明为 public、private、protected 或 internal。
1158
语法错误:函数体之前缺少左大括号 ({)。
1159
return 语句不能在包的初始化代码中使用。
1160
native 属性不能在接口定义中使用。
不能使用 native,因为它是一个保留关键字。
1162
每个定义中只能使用一个命名空间属性。
1163
方法 _ 与从接口 _ 继承的定义冲突。
1165
接口属性 _ 无效。
1166
Namespace declarations are not permitted in interfaces.
1167
类 _ 多次实现接口 _。
该 类多次实现同一个接口。例如,下面的示例会生成此错误,因为类 C 两次实现接口 A: interface A { public function f(); }; class C implements A,A { public function f() { trace("f"); } }
正确的实现语句应为 class C implements A {。
1168
Illegal assignment to function _.
正 在试图重新定义函数。例如,下面定义的函数 topLevel() 要输出“top”一词。第二个语句会生成错误,因为该语句赋给该函数不同的返回值: function topLevel() { trace("top"); } topLevel = function() { trace("replacement works in ~");} // 错误
1169
不允许在接口方法中使用命名空间属性。
1170
函数没有返回值。
如 果返回类型不是 void,函数中每个可能的控制流都必须返回值。下面的函数 f(x) 不会生成错误,因为 if..else 语句总是返回值: function f(x):int { if (x) return 2; else return 3; } // 无错误
但是,下面的函数 g(x) 会生成该错误,因为 switch 语句并非总是返回值。
function g(x:int):int { switch(x) { case 1: return 1; case 2: return 2: } // return 2;//取消注释可清除该错误 }
只有函数声明的返回类型不是 void 时,才启用此检查。
1171
命名空间初始值必须是文字字符串或其它命名空间。
1172
找不到定义 _。
1173
标签定义无效。
1176
将静态类型为 _ 的值与可能无关的类型 _ 进行了比较。
在严格模式下会生成此错误。
1177
return 语句不能在全局初始化代码中使用。
1178
尝试访问不可访问的属性 _(通过静态类型为 _ 的引用)。
1180
调用可能未定义的方法 _。
仅当编译器在严格模式下运行时,才会出现这种错误。
1181
转发对基类 _ 的引用。
1182
包不能用作值 _。
1184
使用了类型 _ 的不兼容默认值,但是应为 _。
1185
switch 包含多个默认值,但是只能使用一个默认值。
1188
对类 _ 的赋值非法。
1189
试图删除固定属性 _。只能删除动态定义的属性。
delete 会从对象中动态删除定义的属性。不能删除类的声明属性。仅当编译器在严格模式下运行时,才会出现这种错误。
1190
找不到基类,或基类不是编译时常量。
1191
找不到接口,或接口不是编译时常量。
1192
不允许在命名空间定义中使用 static 属性。
1193
不能在类或其它接口定义中嵌套接口定义。
1194
prototype 属性无效。
1195
试图访问不可访问的方法 _(通过静态类型为 _ 的引用)。
要么从其它类调用 private 方法,要么调用未使用的命名空间中定义的方法。如果调用的是未使用的命名空间中定义的方法,请为必需的命名空间添加 use 语句。
1196
语法错误:throw 之后应有表达式。
1197
类 _ 不能扩展 _,因为二者都与库符号或主时间轴关联。
1198
不允许在包的定义中使用属性。
1199
内部错误:_。
1200
语法错误:for-in 初始值无效,只能有 1 个表达式。
1201
this、super、return 或 throw 语句之后不能出现 super 语句。
1202
访问未定义的属性 _(属于包 _)。
正在试图访问包中未定义的变量。例如,如果尚未定义变量 p.huh,调用该变量时会生成此错误: p.huh = 55;
仅当编译器在严格模式下运行时,才会出现此错误。
1203
在基类 _ 中未找到默认构造函数。
如果有 1 个或多个必选参数,则必须使用 super() 语句显式调用基类的构造函数。
1204
/* 无对应匹配项 */ .
发现了指示注释开始位置的字符“/*”,但未发现指示注释块结束位置的对应字符“*/”。
1009 _“_”没有类型声明。 不声明数据类型是一种个人编码风格偏好。函数的返回类型、参数或变量没有类型声明。但如果使用类型声明,编译器就可以编写出更为有效的代码并且在编译时检测到更多的错误。如果要在无法使用类型声明时得到提示,可以启用此警告。
1013 类型为 _ 的变量不能为 undefined。比较之前,undefined 值将是强制为 _ 的类型。 只有类型为 * 的变量才能为 undefined。未初始化的变量的默认值是 null(而不是 undefined),但有几种例外情况。例外包括:Boolean 变量,其默认值为 false。Number 变量的默认值为 NaN;int 或 uint 变量的默认值为 0。
1031 迁移问题:新 _ 的结果将是 _ 的返回值,而不是该函数的新实例。 这是一个代码迁移警告。在 Actionscript 3.0 和 Actionscript 2.0 中,检测到的代码具有不同的行为,如下面的示例所示:
function f(){
this.b = 22;
this.a = new Array(2);Â?
this.a[0] = 33;
this.a[1] = 44;
return a;
}
// 在 Actionscript 2.0 中返回 f 的一个新实例,在 Actionscript 3.0 中返回一个由两个元素组成的新数组
var d = new f();Â? // 此处将出现警告
trace(d.a); // 在 Actionscript 3.0 中未定义,在 Actionscript 2.0 中为 [33,44]
1035 使用了没有参数的 Boolean()。 这是一个代码迁移警告。Boolean() 函数在 Actionscript 3.0 中返回 false,但在 Actionscript 2.0 中返回 undefined。
1039 迁移问题:使用空字符串参数调用 Number('') 函数时,它将在 Actionscript 3.0 中返回 0,而在 Actionscript 2.0 中返回 NaN。 这是一个代码迁移警告。使用 String 参数调用的 Number() 方法会跳过该字符串中的所有空白,并在检测不到数字时返回默认值 0。在 Actionscript 2.0 中,该字符串中的任何空白都会导致结果为 NaN。
1045 迁移问题:Null 元素和 undefined 元素的 Array.toString() 处理已更改。 这是一个代码迁移警告。在 Actionscript 2.0 中,null 数组元素转换为 null,而 undefined 元素转换为 undefined。在 Actionscript 3.0 中,null 和 undefined 元素都转换为空字符串 ''。如果您的代码分析了 Array 中的 toString() 输出,您可能需要针对这两种情况的区别对代码进行调整。
1059 迁移问题:不再支持属性 _。_。 这是一个代码迁移警告。您正在尝试使用的属性未存在于 Actionscript 3.0 中。
1061 迁移问题:不再支持方法 _。_。 这是一个代码迁移警告。Actionscript 3.0 中不存在您正在尝试使用的方法。
1066 不再支持 __resolve。
1067 迁移问题:不再支持 __resolve。为了获得类似功能,请使用新的 Proxy 类。 这是一个代码迁移警告。有关替换 __resolve 的详细信息,请参阅本语言参考中的 Proxy。
1071 迁移问题:不再支持 _level。有关详细信息,请参阅 flash.display 包。 这是一个代码迁移警告。您正在尝试使用的属性未存在于 Actionscript 3.0 中。
1073 迁移问题:_ 不是动态类。不能以动态方式向实例中添加成员。 这是一个代码迁移警告。在 Actionscript 2.0 中,许多类(如 Number)是动态的,这意味着可以在运行时向这些类的实例中添加新属性。如果代码尝试向非动态类的实例中添加属性,则会产生此警告。
1083 迁移问题:由于 this 关键字范围的变化,方法 _ 在 Actionscript 3.0 中将有不同的行为。有关其它信息,请参阅有关警告 1083 的条目。 这是一个代码迁移警告。将对象的方法作为值(通常是回调函数)使用时,将会生成此警告。在 Actionscript 2.0 中,在调用函数的上下文中执行函数;在 Actionscript 3.0 中,总是在定义函数的上下文中执行函数。因此,变量和方法的名称将被解析为回调函数所属的类,而不是与调用该函数的上下文有关的类,如下面的示例所示:
class a
{
var x;
function a() { x = 1; }
function b() { trace(x); }
}
var A:a = new a();
var f:Function = a.b; // 此处将触发警告
var x = 22;
f(); // 在 Actionscript 3.0 中输出 1,在 Actionscript 2.0 中输出 22
1085 _ 的范围将是默认命名空间 _ 的内部。它在此包之外不可见。 不声明命名空间是一种个人编码风格偏好。如果要在忘记声明定义的命名空间或访问说明符时得到提示,可以启用此警告。如果没有命名空间或访问说明符,该定义 对于此文件之外的代码是不可见的。要使该定义对于此文件之外的代码是可见的,请使用访问说明符 public 或命名空间声明对该定义进行声明。要使该定义的作用范围仅限于此文件并避免生成此警告,请将该定义声明为 private。
1087 迁移问题:Actionscript 3.0 以随机顺序在一条“for x in target”语句之内迭代对象的属性。 这是一个代码迁移警告。在 Actionscript 2.0 中,对象属性的处理顺序始终不变。在 Actionscript 3.0 中,该顺序是随机的,可因计算机而异。如果出现意外的排序行为,请检查此循环,以确定此行为更改是否会影响代码。
1089 错误代码:_。 这是由于源文件遭到破坏或编译器代码中出现错误造成的。请与 Adobe, Inc. 联系,以便将错误登记备案。
1091 迁移问题:_ 这是一个代码迁移警告。在 Actionscript 2.0 中,如果声明方法时使用的是特殊名称(如 onMouseDown),那么,在出现特定事件时,Flash 可能会调用该方法。在 Actionscript 3.0 中,必须通过方法来调用 addEventListener(),从而对这一函数进行注册以接收该事件。有关详细信息,请参阅本语言参考中的 addEventListener。
1093 在应为 uint(非负)值的地方使用负值。 将负值赋给 uint 数据类型的变量将产生极大的正值。 var x:uint = -1; trace(x); // 4294967295.
1097 与 null 的比较不合逻辑。类型为 _ 的变量不能为 null。 Boolean、int、uint 和 Number 类型的实例不能为 null。与 Boolean 数据类型比较之前,比较运算符类型将 null 转换成 false;与 Number、int 或 uint 数据类型比较之前,将其转换成 0。
1099 与 NaN 的比较不合逻辑。此语句始终计算为 false。 NaN 具有独特的数学属性,任何涉及该属性的比较运算都计算为 false。改用全局 isNaN() 函数检测 NaN 值,如下面的示例所示:
trace(NaN == NaN); // false!
trace(NaN != NaN); // 还是 false!
trace(isNaN(NaN)); // true
1101 条件语句之内的赋值语句。您指的是 == 而不是 = 吗? = 赋值语句的结果是该 = 语句右边的值。可以将赋值语句用作条件测试,但不建议这样做。通常,出现 = 是由于计划执行 == 相等测试时的键入错误造成的,如下面的示例所示:
var x:Boolean = false;
var y:Boolean = true;
// 很难确定下面一行是有意将 x 的值设置为 y 的值,还是属于键入错误
if (x = y) { trace("x is assigned y's value of true, making the conditional test evaluate as true."); }
1103 使用了 null 值,但是应为 _ 值。 不能将 null 作为值赋给 Boolean、Number、int 和 uint 变量。赋给 Boolean 数据类型时,null 值会隐式转换为 false,而赋给 int、uint 或 Number 数据类型时会转换为 0。
1105 尚未指定类 _ 的构造函数。 不指定构造函数是一种个人编码风格偏好。如果需要始终为类声明构造函数,可以启用此警告。此警告旨在帮助您发现类名称更改但其构造函数名称没有更改的情 况。不启用此警告时此类情况不会被标记为问题,前一个构造函数看上去是一个标准函数。
1111 未初始化该常量。
1113 Array(x) 与新 Array(x) 具有相同的行为。若要将某个值转换成 Array 类型,请将表达式 x 用作 Array 而非 Array(x)。
1115 输入此构造函数之前,将会执行 super() 语句。如果要显式控制 super() 语句的执行时间,请在该构造函数中添加对该语句的调用。 在构造函数中添加对 super() 的调用是一种个人编码风格偏好。如果需要始终明确 super() 的调用时间,可以启用此警告。启用此警告对于打算在某些本地初始化代码之后调用 super() 但忘记对其进行添加的情况非常有用。
3552 与使用 TextField.appendText() 方法相比,使用 += 将文本追加到 TextField 的效率低很多倍。 有关此重要文本优化操作的详细信息,请参阅本语言参考中有关 TextField 类的 appendText() 方法的内容。
3554 使用了 Function 值,但是应为类型 _。此函数参考之后可能缺少括号 ()。 在 Actionscript 中,可以将函数本身用作值。此处所述的代码使用的是 Function 类型的值,但需要的是 Function、Object 或 * 之外的类型。通常,这表示出现函数名称之后遗漏括号 () 的键入错误。
3556 不推荐使用 instanceof 运算符,请改用 is 运算符。
3574 迁移错误:Actionscript 2.0 XML 类已重命名为 XMLDocument。 这是一个代码迁移警告。在 Actionscript 3.0 和 Actionscript 2.0 中,XML 是不同的类。Actionscript 3.0 中的 XMLDocument 类与 Actionscript 2.0 中的 XML 类等效。Actionscript 3.0 XML 类通过更为简便和更加强大的 API 提供了增强的功能。有关其它详细信息,请参阅《Actionscript 语言参考》中的 XML。
3576 Date(x) 与新的 Date().toString() 具有相同的行为。若要将某个值转换为 Date 类型,请使用“x as Date”代替 Date(x)。
3582 如果以相同名称将包导入为当前类,将在此作用域中隐藏该类的标识符。
3584 指定了多个名称为“_”的参数。对该参数的引用将始终解析为最后一个参数。
3590 使用了非 Boolean 值,但是应为 Boolean 值。
3591 使用了 _,但是应为 Boolean 值。表达式将强制为 Boolean 类型。
3593 _ 不是动态类 _ 的可识别属性。 在严谨的编译模式下,不会在动态类的实例中检查未定义属性。类型 Date、RegExp 和 Error 是动态的,以便向后与 ECMAscript 兼容。此警告在这些类的实例中找到了对未定义属性的使用。一个常见的问题是尝试获取或设置的 Date 值的 year 属性不存在。正确的属性名称是 fullYear。
3595 _ 不是动态类 _ 的可识别方法。 在严谨的编译模式下,不会在动态类的实例中检查未定义的方法。类型 Date、RegExp 和 Error 是动态的,以便向后与 ECMAscript 兼容。此警告在这些类的实例中找到了对未定义方法的使用。
3597 重复的变量定义。 编译器检测到变量的重复定义。这会导致意外的结果。Actionscript 不支持变量的块级别作用范围。在函数体内定义的所有变量属于同一范围,即便这些变量在 if 语句、while 语句和 for 语句中定义,也是如此。例如,下面的代码会重新声明变量 x 两次:
function test() {
var x:Number = 10;
if (true) {
for (var x=0; x < 5; x++) // 此处将出现警告,这是 x 的第二次定义
trace(x);
}
trace(x); // 是 5,而不是 10。由上面的 for 循环设置的最后一个值是 x 的当前值
}
3598 定义的名称和已导入的包的名称相同。如果不加限定地引用该名称,则该名称将被解析为包而不是定义。
3599 定义的名称和已导入的包的名称相同。如果不加限定地引用该名称,则该名称将被解析为包而不是定义。 如果某定义的名称与范围内的包相同,则对该名称的任何非限定引用都将解析为该包,而不是解析为该定义。这会在尝试引用该变量时导致意外的错误。为此,必须 限定对该定义的所有引用,以便将其解析为该定义,而不是解析为该包。
3600 可能试图删除固定属性。
3601 不能删除声明属性 _。若要释放相关内存,请将其值设置为 null。