as3 有趣现象 关于声明与变量

当使用了一个变量,并且前后期都没有在有效域内对此声明,不管有没有赋值,都会报错。

但先使用了一个变量,后期在有效域内对此声明,那么此变量不报错,但在声明之前没有赋值,那么赋值默认值;如果使用变量时,赋值了,那么变量等于赋值值。

这就是有趣的声明前置(默认)

例子:

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

*/

  

原文地址:https://www.cnblogs.com/dt1991/p/7954269.html