Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> flash教程 >> 正文

如何突破Class中的范围限制

文章来源:闪吧 作者:Super-Toma

我想学习过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);
}
}

测试之后是否出来了呢 ^_^

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有