[]AS转换JS运行报错

我一个AS写H5测试例子,运行报错,测试发现以下情况,我先给出截图
报错问题是:在函数A中调用另一个函数B,找不到函数B,为空
第一个截图是转换后的JS运行截图,第二个截图是原AS代码

QQ截图20170123115248.png


QQ截图20170123115107.png


我做了很多测试
测试中排除了函数声明先后顺序问题,关键字命名问题,其它地方报错影响等问题
绿框处构造函数中调用DoFunc正常,但按键回调函数中调用DoFunc报错

我现在得到结论
KeyHandler中的this不能指代__proto对象
要使this指代过去,我记得参数中要加个参数才对,麻烦看下是不是转换问题,还是有这种写法
 
已邀请:

Laya_XS

赞同来自:

你的问题是这样的,在js里this的执行域是动态改变的,而as是固定不会变的,一般执行域的改变大多数都是回调赋值导致的,你可以用handler来包装你的回调方法,也可以在回调赋值后面加上 回调方法.bind(this),这样都可以解决你的问题。

kevinchen2046

赞同来自:

Laya.stage.on(Event.KEY_DOWN,this,KeyHandler);
应该这样写....

要回复问题请先

商务合作
商务合作