[url]http://uh.9ria.com/space-12147-do-blog-id-6445.html[/url]
public function aaaa(r:Number = 123)
{
rHandler();
function rHandler():void
{
var t:TextField = new TextField();
t.text = r;
this.addChild(t);
}
}
像这样的程序。function还是能调到上一级的局部变量。但是这样有个问题,就是this的取值是不正确的,不是对象本身而是全局域。
这里其实只要用rHandler.call(this)就能让函数内的this是正确的值。
public function aaaa(r:Number = 123)
{
rHandler();
function rHandler():void
{
var t:TextField = new TextField();
t.text = r;
this.addChild(t);
}
}
像这样的程序。function还是能调到上一级的局部变量。但是这样有个问题,就是this的取值是不正确的,不是对象本身而是全局域。
这里其实只要用rHandler.call(this)就能让函数内的this是正确的值。
本文探讨了ActionScript 3中局部变量在函数内的访问方式及this关键字指向问题,并提供了解决方案,即使用rHandler.call(this)确保函数内this指向正确。

被折叠的 条评论
为什么被折叠?



