[英]When calling function, it returns undefined
我正在制作一个Android版本的CandyBox2(我知道有些已经存在,但是我真的想做一个更好的版本)。 要另存为文本,您需要调用以下函数:
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,它很大):
有一个基本的误解。
定义为Save.prototype.clickedFileSave
的方法是类/对象Save
,可以在Save
的实例上调用:
var game = new Game(...);
var save = new Save(game);
save.clickedFileSave();
您不能通过原型直接调用它,除非您将Save
的实例传递给它:
Save.prototype.clickedFileSave.apply(save);
您收到的错误意味着.getGame(...)
也是 Save的一种方法,定义为Save.prototype.getGame
,并在clickedFileSave
this.getGame(...)
clickedFileSave
内部引用。 换句话说,在调用此类方法时, this
必须引用Save
的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.