as3中对于一个Number类型的变量a,初始值为NaN,一旦你赋值给a一个数字后,它就有了值。现在如果你想让a再次变为NaN,你会直接把NaN赋给变量a吗?
由于一直很少用到NaN,所以我开始都没有想到直接把NaN赋值给a,我做了很愚蠢的测试:
var a:Number;
trace(a);//NaN
a=0;
trace(a);//0
a=null;
trace(a);//0
a=Number({});
trace(a);//NaN
虽然最后a=Number({})时,得到了NaN,但这个毫无道理,被我同事认为是非常BT,还是他一句话提醒了我NaN是个常量可以直接赋值,只需一句:
a=NaN;
这样就ok了。