Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在AS3中获取类的构造函数属性_Actionscript 3_Flash_Class_Constructor - Fatal编程技术网

Actionscript 3 在AS3中获取类的构造函数属性

Actionscript 3 在AS3中获取类的构造函数属性,actionscript-3,flash,class,constructor,Actionscript 3,Flash,Class,Constructor,代码: 结果: import flash.display.Sprite; var c:Class; c = new Sprite()["constructor"]; trace(1,new c()); c = Sprite["constructor"]; trace(2,c); trace(3,new c()); 因此,从类中获取构造函数属性将返回一个不是构造函数的类。。?这是什么意思?为什么它不可实例化?更像是在做c=Sprite[“构造函数”];您返回的对象与精灵无关。你到底想干什么?['

代码:

结果:

import flash.display.Sprite;
var c:Class;
c = new Sprite()["constructor"];
trace(1,new c());
c = Sprite["constructor"];
trace(2,c);
trace(3,new c());

因此,从类中获取构造函数属性将返回一个不是构造函数的类。。?这是什么意思?为什么它不可实例化?

更像是在做c=Sprite[“构造函数”];您返回的对象与精灵无关。你到底想干什么?['constructor']不引用精灵构造函数。在案例1中,您正在创建一个精灵实例,获取此处定义的构造函数属性:因此,您已经创建了一个实例,获取了构造函数属性,它是一个类,实际上是精灵类,您可以创建该类的新实例。在第二种情况下,您说的是获取Sprite上的静态属性“构造函数”,它与实例/动态属性“构造函数”不同。在第二种情况下,从Sprite上的静态属性“构造函数”返回的值是Class类型,而不是Sprite类型(不确定其意图/推理是什么,尽管我认为它与如何维护静态变量或类似性质的东西有关)。是的,我的问题是,该类返回的是什么?我猜它指向
类的构造函数,但它实际上是不可访问的,所以当您执行
跟踪(3,new c())
然后它崩溃。当您执行
var c:Class=new Class
时也会发生同样的情况,我认为这两种行为是相同的。
1 [object Sprite]
2 [class Class]
TypeError: Error #1115: Class$ is not a constructor.
    at Untitled_fla::MainTimeline/frame1()