首页 > 解决方案 > 在 AS3 中使用对象访问器

问题描述

我在这里查看 javascript 代码: https ://www.w3schools.com/js/js_object_accessors.asp

他们在 javascript 中使用对象访问器显示的位置。

作为 JS 的超集,我尝试在 AS3 中使用它,但出现编译器错误

var p = {

  get a() {
    return 1;
  }

};

trace(p.a);

我希望在AS3中必须有某种方法可以使用它?有任何想法吗?

我已经知道更长的语法虽然当然有效:

var p = {

  a:function() {
    return 1;
  }



};

trace(p.a());

标签: actionscript-3

解决方案


AS3 语法与 JavaScript 非常不同。变量有类型(即使它只是Object)。AS3 参考展示了一个创建动态对象的示例,它实际上更像是一个关联数组:

var obj:Object = {a:"foo", b:"bar"};

虽然 AS3 确实允许 JavaScript 的某些特性,但我强烈建议您将其视为适当的强类型编程语言(更像 C# 或 Java,而不是 JavaScript),因为这会导致代码更简洁和性能更好(在某些情况下) )。

如果您在设计时就知道对象的属性,您应该创建具有 get/set 属性和方法的类,因为它们比动态对象具有更好的性能。

向对象添加动态函数依赖于使用Function类型。


推荐阅读