使用动作脚本 1 向对象中添加 getter/setter 属性

注意:如果您从未使用动作脚本编写过面向对象的脚本,而且不需要以 Flash Player 5 作为目标播放器,则不应使用本节中的信息,因为我们不鼓励使用动作脚本 1 来编写脚本;而应参见使用动作脚本 2.0 创建类以获得有关使用动作脚本 2.0 的信息。

您可以使用 Object.addProperty() 方法为对象创建 getter/setter 属性。

Getter 函数没有参数。它的返回值可以为任何类型。它的类型可以在两次调用之间改变。返回值视作该属性的当前值。Setter 函数只有一个参数,即该属性的新值。例如,如果属性 x 由语句 x = 1 进行赋值,则会将数字类型的参数 1 传递给 setter 函数。Setter 函数的返回值将被忽略。

当 Flash 读取 getter/setter 属性时,它调用 getter 函数,而该函数的返回值将成为 prop 的值。当 Flash 写入 getter/setter 属性时,它调用 setter 函数,并将新值作为参数传递给它。如果具有给定名称的属性已经存在,新属性将覆盖它。

可以向原型对象添加 getter/setter 属性。如果向一个原型对象添加 getter/setter 属性,则继承此原型对象的所有对象实例都将继承 getter/setter 属性。这样就能够在一个位置(即原型对象)添加 getter/setter 属性,然后使它传播到类的所有实例(与向原型对象添加方法非常相似)。如果为继承的原型对象中的 getter/setter 属性调用 getter/setter 函数,则传递给该 getter/setter 函数的引用将是最初引用的对象,而不是该原型对象。

有关更多信息,请参见 Object.addProperty()

测试模式中的“调试”>“列出变量”命令支持使用 Object.addProperty() 方法添加到对象中的 getter/setter 属性。以这种方式添加到对象中的属性与该对象中的其它属性一起显示在“输出”面板中。在“输出”面板中,getter/setter 属性用前缀 [getter/setter] 标识。有关“列出变量”命令的更多信息,请参见使用“输出”面板