我正在制作CandyBox2的Android版本(我知道有些已经存在,但我真的想做一个更好的)。 要另存为文本,您需要调用此函数:
Save.prototype.clickedFileSave();
如果我从Save var中执行它,它需要从URL调用它。 我试过这个:
javascript:Save.prototype.clickedFileSave();
或者这个:
javascript:Save.prototype.clickedFileSave.call();
甚至这个:
window[Save.prototype.clickedFileSave]);
最后一个根本不起作用,因为它是一个函数,而不是一个方法,但其他两个返回:
TypeError:this.getGame(...)未定义
如果您对如何解决这个问题有任何想法,我很乐意了解它。 谢谢!
这是Save and Place var(通过pastebin,它很大):
答案 0 :(得分:0)
存在一个根本性的误解。
定义为Save
的方法是类/对象Save
的一部分,可以在var game = new Game(...);
var save = new Save(game);
save.clickedFileSave();
的实例上调用:
Save
除非您传递Save.prototype.clickedFileSave.apply(save);
:
.getGame(...)
您获得的错误意味着Save.prototype.getGame
也是保存方法,定义为clickedFileSave
,并在this.getGame(...)
内引用this
}。换句话说,在调用此类方法时,Save
必须引用{{1}}的实例。