var stage = new createjs.Stage("demoCanvas");
console.log(stage.constructor.name);//prints a

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
<canvas id="demoCanvas" width="500" height="300">
alternate content
</canvas>
&#13;
我正在尝试在create js中打印构造函数名称,但它正在打印a
。是否有任何解决方案来打印构造函数名称。
答案 0 :(得分:2)
CreateJS缩小了。这意味着为了使代码更小,许多不能直接访问的事物的变量名称已经缩短。看看这个简化的例子。
let a = function(){}
let Closure = {
MyClass : a
}
let myInstance = new Closure.MyClass();
console.log(myInstance.constructor.name) // a
如果您只查看最后两行,您会期望Closure.MyClass
的构造函数是MyClass,但正如您所见,构造函数实际上是a
,因为那是{{1 name
提到的constructor
函数。
也许您应该重新考虑使用/创建对象的方式。如果您有能力,则可以在对象的构造函数中或在创建对象之后自己附加名称并引用该名称。
Closure.MyClass
还有其他方法可以实现您想要的效果,您可能需要创造性。或者您可以尝试使用未缩小版本的库。