当使用了一个变量,并且前后期都没有在有效域内对此声明,不管有没有赋值,都会报错。
但先使用了一个变量,后期在有效域内对此声明,那么此变量不报错,但在声明之前没有赋值,那么赋值默认值;如果使用变量时,赋值了,那么变量等于赋值值。
这就是有趣的声明前置(默认)
例子:
import flash.display.MovieClip; function traced() { trace("没声明直接使用 ,b 的值 : ",b) b=0.5; trace("没声明直接赋值 ,b 的值 : ",b) var b:Number=.3; trace("声明有赋值 ,b 的值 : ",b) } traced() /* 输出 没声明直接使用 ,b 的值 : NaN 没声明直接赋值 ,b 的值 : 0.5 声明有赋值 ,b 的值 : 0.3 */