发现 ActionScript 2.0 中的一个 bug

 

ActionScript代码
 
  1. a[i++] &= 0xffff;  

上面这个语句,在 as2 中的行为跟 js 或 php 的完全不同。在 as2 中它的行为居然是:

ActionScript代码
 
  1. a[i++] = a[i++] & 0xffff;  

就因为这个 bug,害我在调试 PHPRPC for AS2 版本时花了 2 天的时间。不知道 as3 是否也有这个 bug。

ActionScript 中还有好多跟 JavaScript 相同的语法,但语义不同的情况。例如向 +=,-= 这种自反赋值运算符所构成的表达式居然在 ActionScript 是没有值的,而在 JavaScript 中它的值跟运算符左面最后的结果相同。

以后写程序看来确实应该避免使用这种副作用了。

标签: ActionScript/Flash

« 上一篇 | 下一篇 »

只显示10条记录相关文章

发表评论

评论 (必须):