今天做flash时,发现一个bug,搞了半天没想通为什么
首先,我在确定是访问数组出问题后,就到处看和此数组相关系的变量等有什么逻辑错误,找了半天发现没有逻辑错误,我就纳闷了,直到突然看到这句代码
sn = temp.pop()-1;
return pointPose[sn];
我相temp.pop();可能在temp为空是返回一个undefined,而undefined再 -1 那么就是NaN
我测试了一下,发现果然pointPose[NaN]可以返回pointPose[0]的值,也就是说NaN在此处可以当0使用...
汗,这是个多么让人讨厌的隐患,虽然记得以前看过NaN的介绍,不过使用起来碰到的也比较少,考虑的时候往往会忽略了这一点...这次正好碰到,把自己的教训拿出来给大家一个提醒^^"
回复Comments
作者:
{commentrecontent}