gpt4 book ai didi

actionscript-3 - 显式键入变量会使编译器认为内置类型的实例不具有属性,而它确实具有

转载 作者:行者123 更新时间:2023-12-02 10:50:50 25 4
gpt4 key购买 nike

我将AS3编译器错误1119的原因缩小为类似于以下代码:

var test_inst:Number = 2.953;
trace(test_inst);
trace(test_inst.constructor);

我收到错误消息“1119:通过具有静态类型Number的引用访问可能未定义的属性构造函数”。

现在,如果我省略了变量的类型,则不会出现该错误:
var test_inst = 2.953;
trace(test_inst);
trace(test_inst.constructor);

它产生预期的输出:
2.953
[class Number]

那怎么办?我喜欢显式键入变量,因此除了不提供变量的类型外,还有什么方法可以解决此错误?

最佳答案

好的,这有点难以解释...首先,这是它的工作方式:

var test_inst:Number = 2.953;
trace(test_inst);
trace((test_inst as Object).constructor);

据我了解,这是由于事实,属性 constructor来自ActionScript 3的ECMAScript属性。它是 Object实例的ECMAScript属性,并通过 prototypes继承。因此,从ActionScript 3的严格类型化世界(它也使用不同的继承机制)来看,此属性不可用。

格里茨
back2dos

关于actionscript-3 - 显式键入变量会使编译器认为内置类型的实例不具有属性,而它确实具有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com