TypeError:错误#1009:无法访问空对象引用的属性或方法

时间:2014-09-01 13:51:32

标签: actionscript-3 flash

我正在使用Flash CS 5.5。如果我在错误发生时调用按钮点击事件中的一个功能。任何人都说错了什么?

这是我的代码:

var visited:Object = {
    Movieclip: 0,
    one: 0,
    two: 0,
    three: 0,
    four: 0,
    five: 0,
    six: 0,
    seven7: 0
};

function saveCourseStatus():void 
{

    var suspend_str:String = visited.Movieclip + "," + visited.one + "," + visited.two + "," + visited.three + "," + visited.four + "," + visited.five + "," + visited.six + "," + visited.seven;
    scorm.set("cmi.suspend_data", suspend_str);
    scorm.save();
}

Newbutton.addEventListener(MouseEvent.CLICK, Nxt);

function Nxt(event:MouseEvent):void
{
    saveCourseStatus();
    MovieClip(this.root).gotoAndPlay(0, "one");
}

我有这个错误.saveCourseStatus();

peError: Error #1009: Cannot access a property or method of a null object reference.
    at New_fla::MainTimeline/saveCourseStatus()[New_fla.MainTimeline::frame98:116]
    at New_fla::MainTimeline/Nxt()[New_fla.MainTimeline::frame98:125]

1 个答案:

答案 0 :(得分:0)

错误表示“scorn”或“visited”为空。如果您尝试获取对象的属性或方法为null,则Flash会引发错误。 scorm和visited都很有可能无法使用saveCourseStatus函数,具体取决于您的定义方式以及整个代码的设置方式。由于您没有将它们作为参数传递给saveCourseStatus,因此需要使用saveCourseStatus的公共变量来访问它们。

此外,当您尝试在saveCourseStatus中将其称为“visited.seven”时,您的对象属性被命名为“seven7”(注意“7”)