Javascript 如何从控制台调用类表达式?
我正在调试一个用Pixi.js制作的游戏制作代码。为了测试一些功能,我想从控制台调用一些框架函数。在下面的代码中,有一个“Move”类的缩小版本,当单击画布时调用该类。 这个构造函数由另一个类调用,所以那些Javascript 如何从控制台调用类表达式?,javascript,angularjs,pixi.js,Javascript,Angularjs,Pixi.js,我正在调试一个用Pixi.js制作的游戏制作代码。为了测试一些功能,我想从控制台调用一些框架函数。在下面的代码中,有一个“Move”类的缩小版本,当单击画布时调用该类。 这个构造函数由另一个类调用,所以那些e,i,s,n参数来自另一个类。当我输入MyGame[“移动”](arg1、arg2、arg3、arg4);这个功能应该可以工作。虽然第三个和第四个参数已知,但我不知道如何传递生成的e和I参数 ! function (t) { class e { constructor
e,i,s,n
参数来自另一个类。当我输入MyGame[“移动”](arg1、arg2、arg3、arg4);这个功能应该可以工作。虽然第三个和第四个参数已知,但我不知道如何传递生成的e和I参数
! function (t) {
class e {
constructor(e, i, s, n) {
this.gameObject = e,
this.options = n,
this.goPositionPath = i || {
x: [],
y: []
},
this.goPosition = s || {
x: i[i.x.length - 1],
y: i[i.y.length - 1]
},
this.init()
}
init() {
return __awaiter(this, undefined, undefined, function* () {
let generatePath = yield this.generatePath();
if (generatePath && (this.goPositionPath = generatePath), this.sendRequestToBackend(), this.options.waitBackend) return this.gameObject.currentMove = null;
this.editPath(), this.calculatePathDistanceAndTime(), this.initAnimation()
})
}
generatePath() { /* ... */ }
sendRequestToBackend () { /* ... */ }
// ...
// Other functions...
// ...
}
// ...
// Some logic
// ...
t.Move = e
}(MyGame || (MyGame = {}));
var MyGame;
有没有一种方法可以使用可用的游戏信息从控制台调用这些函数?大多数框架通过将所有代码包装在一个闭包中来防止您污染全局空间。 调试时克服此问题的最佳方法是使用调试器(在浏览器中)
例如,您可以添加一个断点,当执行超过该断点时,您可以在控制台中与断点在同一空间中运行自己的命令。有办法公开这些闭包吗?您可以使用在其外部定义的全局变量进行黑客攻击,并从闭包中为它们分配函数等,但是,如果您的框架有一些检查器,则可能会导致构建时问题。