当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > TypeError: Error #1009: 无法访问空对象引用的属性或方法

ActionScript
将FlashVars写在JS函数中,实现变量更新与后台同步
Flash与Flex3结合学习心得体会
Flash AS简单制作画线条动画
Flash教程:如何把库中的元件加载到场景中
Flash AS3运行错误参考文档
Flash AS3制作自由落体运动代码解析
多层级加载相对路径遇到的问题解决方法
加载PNG后其透明区域不响应事件
AS3教程:按顺序播放多个FLV视频
Flash AS与JS的互动
Flash AS实例:智力过河小游戏源代码
Flash as教程:图片模糊运动
Flash AS3实例教程:物体运动速度向量(velocity)
Flash AS3.0教程:学习帧循环的运用
Flash AS3动态改变影片剪辑元件颜色
Flash AS 制作创意的鼠标经过的网页导航
Flash AS实例教程 会眨眼的美女
Flash AS2实例 跳动的小球动画效果
Flash AS3实例:制作好看的七彩小球动画
AS2.0高级滤镜效果如何用在JPG图片上

ActionScript 中的 TypeError: Error #1009: 无法访问空对象引用的属性或方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 300 ::
收藏到网摘: n/a

刚使用AS3的朋友..
也许会经常遇到
"TypeError: Error #1009: 无法访问空对象引用的属性或方法。"

出现这个问题的原因很简单,常见的是"对象为null","属性不存在","方法不存在".
看看下面的例子:
  1. var list:Array;   
  2. trace(list.length) 

由于list还有实例化,我们就调用了他的length的属性.Ctrl+Enter运行.出现了下面的错误

  1. TypeErrorError #1009: 无法访问空对象引用的属性或方法。   
  2.     at _fla::MainTimeline/frame1()  
PS:我写在帧上,,所以函数名为frame1,类名为MainTimeline.

其实本来很好解决的问题..
可是代码提示没有告诉我们是哪个对象,哪个属性,哪个方法,,
连哪一行都没有告诉我们..

只告诉我们是哪个函数,
如果像上面只有两行代码..那当然就好解决了,
可实现情况可能会有十行~二十行~
这时候可能得使用returntry这样的排除法...一步一步解决...


累~上面是前言...可以直接跳过.....

今天介绍一个简单而不常用的方式...可以方法解决上面的问题....
还是前面的代码
  1. var list:Array;   
  2. trace(list.length)  
不过我们不使用Ctrl+Enter运行
我们使用Ctrl+Shift+Enter运行

运行后调试窗出现以下面的内容
  1. 正在尝试使用 URL C:\DOCUME~1\*\LOCALS~1\Temp\未命名-1.swf 启动并连接到播放器   
  2. 解压缩后字节数为 [SWF] C:\Documents and Settings\*\Local Settings\Temp\未命名-1.swf - 1970 字节   
  3. TypeErrorError #1009: 无法访问空对象引用的属性或方法。   
  4.     at _fla::MainTimeline/frame1()[_fla.MainTimeline::frame1:2]  
再看看IDE的中间

uploads/200902/21_114616_error.jpg


已经详细的告诉了我们是哪一行出了问题...
这样就可以快速定位到错误的行数...
然后根据该行的问题进行处理就ok了...

PS:调试功能除了刚刚说的功能外,还有很多更实用的功能,变量查看,断点调试,大家可以多尝试,对查错调试有很大帮助!!