AS2.0虽然并不是一无是处,但它确实有些地方让人不是很满意。例如,如果你用Object类型去初始化一个成员变量后,这个变量就会象一个静态的类变量一样,得不到我们预期的结果。
如:
class test {
private var a:Array = new Array();
public function test() {
a.push(a.length);
trace(a);
}
}
FLA中:
var test1:test=new test()
var test2:test=new test()
trace的结果为:
0
0,1
在AS3.0中,这个问题得以解决。
package {
import flash.util.trace;
import flash.display.MovieClip;
public class Test1 extends MovieClip {
public function Test1() {
var t1:Test2 = new Test2();
var t2:Test2 = new Test2();
}
}
private class Test2 {
private var a:Array = new Array();
public function Test2() {
a.push( a.length);
trace(a);
}
}
}
trace的结果为:
0
0
如:
class test {
private var a:Array = new Array();
public function test() {
a.push(a.length);
trace(a);
}
}
FLA中:
var test1:test=new test()
var test2:test=new test()
trace的结果为:
0
0,1
在AS3.0中,这个问题得以解决。
package {
import flash.util.trace;
import flash.display.MovieClip;
public class Test1 extends MovieClip {
public function Test1() {
var t1:Test2 = new Test2();
var t2:Test2 = new Test2();
}
}
private class Test2 {
private var a:Array = new Array();
public function Test2() {
a.push( a.length);
trace(a);
}
}
}
trace的结果为:
0
0
回复Comments
作者:
{commentrecontent}