繁体   English   中英

调用函数时,返回未定义

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM