【问题标题】:Can't find the bug in my code在我的代码中找不到错误
【发布时间】:2017-05-29 22:48:04
【问题描述】:

代码是:

 var _bgin:Date = new Date();
    var _end:Date   = new Date();
    function sineWaveGenerator(b_arr:ByteArray,p:int, w:uint = 1):void {
        _bgin = _end;
        _end = new Date();
        var st:uint =  
            _end.valueOf() - 
            _bgin.valueOf(); // line 179
    }

错误信息:

TypeError:错误 #1009:无法访问 null 的属性或方法 对象引用。在 stopAllExample_fla::MainTimeline/sineWaveGenerator()[stopAllExample_fla.MainTimeline::frame1:179]

我从事件处理程序调用函数。该错误仅出现一次,并且在随后的所有函数调用中都没有错误。

【问题讨论】:

  • 第 179 行是哪一行?
  • 我在代码注释中做了标记。有没有可能,Flash 计算行数不正确?
  • 我对ActionScript一无所知,但似乎存在范围问题,使得函数_end内部被视为新的局部变量。或许将_end 作为参数传递?
  • 不,它使用了全局变量。否则,它根本不起作用,但它起作用了
  • 在产生错误的行之前跟踪 _bgin_end。不知何故,错误表明 _end 在您调用该函数时为 null

标签: actionscript-3


【解决方案1】:

我不得不将全局变量的初始定义向上移动

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多