为什么不能将计算属性作为命名空间进行访问?

时间:2017-02-03 12:21:33

标签: actionscript-3

近一个月前,我在AS3命名空间索引中发现了一个问题。

首先,我的测试:

package  {

    import flash.display.MovieClip;


    public class main extends MovieClip {

        /* Namespace definition */
        protected namespace Demo;
        Demo const AMOUNT = 0;


        public function main() {
            super();

            /* Put the namespace inside a property */
            const obj = {
                Demo: Demo
            };

            /* Now namespace-index this property */
            trace((obj.Demo)::AMOUNT);
            /* The following fails: obj.Demo::AMOUNT,
             * it's aproximately obj::AMOUNT */
        }
    }

}

按预期工作,输出0。但是当我想计算得到解析器obj.Demo时,它会抛出一个错误(它不是英文,但是: 1043: Espacio de nombres no definido ),或者 Namespace not defined < /子>:

trace((obj['Demo'])::AMOUNT);

我想知道原因(obj['Demo']::AMOUNT会导致语法错误。)

0 个答案:

没有答案