当前位置:  开发笔记 > 前端 > 正文

var x:*究竟是什么意思在actionscript中?

如何解决《varx:*究竟是什么意思在actionscript中?》经验,为你挑选了1个好方法。

搜索'var:*'有点棘手,因为大多数搜索引擎都找不到它.

我不清楚var:*的含义是什么,与var:Object相比

我以为它会让我在对象上设置任意属性,如:

var x:*  = myObject;
x.nonExistantProperty = "123";

但这给了我一个错误:

Property nonExistantProperty not found on x

*究竟是什么意思?

编辑:我将原始的var:*修改为正确的var x:*.丢失了我的互联网连接



1> fenomas..:

扩展其他答案,声明类型为星号的内容与将其保持无类型完全相同.

var x:* = {};
var y = {}; // equivalent

但是,是否允许为对象分配不存在的属性的问题与引用的类型无关,并且取决于对象是否是动态类的实例.

例如,因为Object是动态的而String不是:

var o:Object = {};
o.foo = 1; // fine
var a:* = o;
a.bar = 1; // again, fine

var s:String = "";
s.foo = 1; // compile-time error
var b:* = s;
b.bar = 1; // run-time error

请注意,无论您使用何种类型的引用,都可以始终为对象分配新属性.同样,你永远不能为String赋予新的属性,但如果你使用一个类型化的引用,那么这将被编译器捕获,并且对于无类型的引用,编译器不知道它是否b是动态的,所以错误发生在运行.

顺便提一下,类型星号的文档参考可以在这里找到:

http://livedocs.adobe.com/labs/air/1/aslr/specialTypes.html#*

(由于星号,标记引擎拒绝将其链接起来.)

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有