// 1,匿名函数---->OK
// let moveCallback = cc.callFunc(() => {
// this.beginnerNode.runAction(this.beginnerAction);
// });
// 2,函数声明和调用放到一起---->NOT
// let moveCallback = cc.callFunc(function() {
// this.beginnerNode.runAction(this.beginnerAction);
// });
// 3,函数声明和调用放到一起,并为其bind this关键字---->OK
// let moveCallback = cc.callFunc(function () {
// this.beginnerNode.runAction(this.beginnerAction);
// }.bind(this));
// 4,函数声明和调用放到一起,并设置selectorTarget参数为this---->OK
// let moveCallback = cc.callFunc(function () {
// this.beginnerNode.runAction(this.beginnerAction);
// }, this);
// 5,直接调用函数---->NOT
// let moveCallback = cc.callFunc(this.runBeginnerAction);
// 6,调用函数,并设置selectorTarget参数为this---->OK
// let moveCallback = cc.callFunc(this.runBeginnerAction, this);
// 7,调用函数,并为其bind this关键字---->OK
let moveCallback = cc.callFunc(this.runBeginnerAction.bind(this));
private runBeginnerAction() {
this.beginnerNode.runAction(this.beginnerAction);
}
上述7种调用代码中NOT标识的,表示是不正确的调用方式,最终在回调函数中不能正确get到this关键字。