如何突破Class中的范围限制 |
| 作者:佚名 来源:闪吧 作者: Super-Toma 更新:2007-1-13 20:47:05 错误报告 我要投稿 |
我想学习过Class的朋友都会遇到一些范围方面的限制,例如在Class当中使用onKeyDown等事件无法调用别的函数,几乎很多网页也都只是单纯的解说方法而没有提到这点。在这里就教大家一个小技巧突破这个范围
class testing { function testing() { trace(this); //在这里的this是指testing本身 var myKey:Object = new Object(); myKey.onKeyDown = function() { trace(this); //这里的this是指myKey echo ("突破范围限制"); //当然你也可以使用_root.test.echo(), 但是这样的代码就无法灵活的应用在其他地方了 } Key.addListener(myKey); } private function echo(str:String) { trace(str); } } ---------------------- FLA --------------------------- var test:testing = new testing(); 解决方法很简单, 如下: class testing { function testing() { var root:Object = this; var myKey:Object = new Object(); myKey.onKeyDown = function() { root.echo ("突破范围限制"); } Key.addListener(myKey); } private function echo(str:String) { trace(str); } }
测试之后是否出来了呢 ^_^
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |