还记得 as2 中被大量使用的 Delegate 么, as3 中他已经不那么重要了, 因为函数可以记住自己的作用域 as2 的例子:
import mx.utils.Delegate; var obj = new Object(); obj.traceThis = traceThis; obj.traceThis(); // 输出 true, 也就是 obj 自己 obj.traceThis = Delegate.create(this, traceThis); obj.traceThis(); // 输出 false, 因为我们已经手动把函数作用域指向到了 _root, (as3 中是 Timeline0)
function traceThis () { trace(this == obj); }
as3 的例子, 在 flash 9 alpha 中测试
var obj = new Object(); obj.traceThis = traceThis; obj.traceThis(); // 输出 false, 没有作用域的问题了~
function traceThis () { trace(this == obj); }
出处:蓝色理想
责任编辑:moby
上一页 动态改变影片帧速 下一页 Graphic 对象和新的 Drawing API.txt
◎进入论坛Flash专栏版块参加讨论
|