Javascript 调用函数时,它返回未定义的

Javascript 调用函数时,它返回未定义的,javascript,android,Javascript,Android,我正在制作Android版本的CandyBox2(我知道有些已经存在了,但我真的想做一个更好的)。 要另存为文本,需要调用此函数: Save.prototype.clickedFileSave(); 如果我从Save var执行它,那么我需要从URL调用它。 我试过这个: javascript:Save.prototype.clickedFileSave(); 或者这个: javascript:Save.prototype.clickedFileSave.call(); 甚至这个: win

我正在制作Android版本的CandyBox2(我知道有些已经存在了,但我真的想做一个更好的)。 要另存为文本,需要调用此函数:

Save.prototype.clickedFileSave();
如果我从Save var执行它,那么我需要从URL调用它。 我试过这个:

javascript:Save.prototype.clickedFileSave();
或者这个:

javascript:Save.prototype.clickedFileSave.call();
甚至这个:

window[Save.prototype.clickedFileSave]);
最后一个根本不起作用,因为它是一个函数而不是一个方法,但另外两个返回:

TypeError:此.getGame(…)未定义

如果你对如何解决这个问题有任何想法,我很想知道。 谢谢

这是保存和放置变量(通过pastebin,它很大):


    • 有一个根本性的误解

      定义为
      Save.prototype.clickedFileSave
      的方法是类/对象
      Save
      的一部分,可以在
      Save
      的实例上调用:

      var game = new Game(...);
      var save = new Save(game);
      save.clickedFileSave();
      
      Save.prototype.clickedFileSave.apply(save);
      
      除非将
      Save
      的实例传递给原型,否则不能直接通过原型调用它:

      var game = new Game(...);
      var save = new Save(game);
      save.clickedFileSave();
      
      Save.prototype.clickedFileSave.apply(save);
      

      您得到的错误意味着
      .getGame(…)
      也是一种保存方法,定义为
      Save.prototype.getGame
      ,并在
      单击文件保存
      中引用
      this.getGame(…)
      。换句话说,在调用此类方法时,
      必须引用
      保存
      的实例,这是一个基本的误解

      定义为
      Save.prototype.clickedFileSave
      的方法是类/对象
      Save
      的一部分,可以在
      Save
      的实例上调用:

      var game = new Game(...);
      var save = new Save(game);
      save.clickedFileSave();
      
      Save.prototype.clickedFileSave.apply(save);
      
      除非将
      Save
      的实例传递给原型,否则不能直接通过原型调用它:

      var game = new Game(...);
      var save = new Save(game);
      save.clickedFileSave();
      
      Save.prototype.clickedFileSave.apply(save);
      
      您得到的错误意味着
      .getGame(…)
      也是一种保存方法,定义为
      Save.prototype.getGame
      ,并在
      单击文件保存
      中引用
      this.getGame(…)
      。换句话说,在调用此类方法时,
      必须引用
      保存
      的实例