我在以下AS3代码中收到变量arr1的多个变量声明的Flash Builder警告消息:
if (var1 == var2) {
var arr1:Array = new Array(100);
<some code>
} else {
var arr1:Array = new Array(200);
<some other code>
}
我可以使用更多的if / else语句来消除此警告,但代码运行正常,如果警告可以接受,我无法理解为什么我应该添加复杂性。如果你有不同的想法,我想听听别人的意见。
假设警告可以使用,如何在Flash Builder中手动禁止警告?也就是说,只有这个例子的警告;仍必须显示其他警告。
例如,在Matlab中,可以在特定行上放置一个特殊代码作为注释,并且不会显示与该行代码相关的警告。 Flash Builder 4.6中提供的任何内容?
答案 0 :(得分:3)
ActionScript使用变量提升,这意味着所有变量声明都被移到函数的顶部,因此在编译之后,编译器会看到同一变量的两个声明。
即使你在变量使用之前声明它也可以......
例如,这些示例在as3中仍然有效:
// more logical and preffered one
var arr1:Array;
if (var1 == var2) {
arr1 = new Array(100);
<some code>
} else {
arr1 = new Array(200);
<some other code>
}
if (var1 == var2) {
var arr1:Array = new Array(100);
<some code>
} else {
arr1 = new Array(200);
<some other code>
}
if (var1 == var2) {
arr1 = new Array(100);
<some code>
} else {
var arr1:Array = new Array(200);
<some other code>
}
if (var1 == var2) {
arr1 = new Array(100);
<some code>
} else {
arr1 = new Array(200);
<some other code>
}
var arr1:Array;