Javascript-如何将函数添加或扩展到现有函数

Javascript-如何将函数添加或扩展到现有函数,javascript,function,p5.js,Javascript,Function,P5.js,我正在使用JS和一个库来生成一个名为的Gui。此库是另一个名为的库的包装器 好的,这个p5.js库还可以,但它缺乏功能。我想向它添加一些函数,因为quicksettings支持它们,但p5.gui不支持它们 例如,我希望能够在gui菜单中添加保存或重置按钮。 我已经将它硬编码到p5.gui库中,它非常棒。代码如下: this.addButton = function(name, callback) { qs.addButton( name, callback ); }; 但是,

我正在使用JS和一个库来生成一个名为的Gui。此库是另一个名为的库的包装器

好的,这个p5.js库还可以,但它缺乏功能。我想向它添加一些函数,因为quicksettings支持它们,但p5.gui不支持它们

例如,我希望能够在gui菜单中添加保存或重置按钮。 我已经将它硬编码到p5.gui库中,它非常棒。代码如下:

  this.addButton = function(name, callback) {
    qs.addButton( name, callback );
  };
但是,如果一段时间过去了,我忘记了将其硬编码到库中,库得到了更新,该怎么办。我会丢失我的密码

这是,在参考中,我把代码放在这里:

  (function() {

    function QSGui(label, parent, sketch) {
      
      // my code
      this.addButton = function(name, callback) {
        qs.addButton( name, callback );
      };
      // end my code

    }

  })();
问题 所以,我的问题是,是否有一种方法可以向它添加代码或从我自己的文件/脚本扩展到它。
我对JS还不够熟悉,无法做到这一点。我发现我不能直接从另一个文件调用
QSGui()

查看p5.gui库的源代码,我发现这行代码:

//代理quicksettings的所有函数
这个.prototype=qs;
这意味着您不必定义自己的
addButton()
函数。如果
QuickSettings
类有一个
addButton()
函数,那么您应该能够在
QSGui
的实例上直接调用
addButton()
。通过调用
createGui()
函数,可以获得
QSGui
的实例

大概是这样的:

var gui=createGui(“我最棒的gui”);
添加按钮(…);

我确实尝试过这一点,但我在控制台中得到了这一点:
TypeError:gui.addButton不是一个函数
@Tim您确定使用的是正确版本的基础
快速设置
库吗?其他功能是否正常工作?正如您在浏览器控制台(而不是codepen控制台)中看到的,它返回以下
TypeError:gui.addButton不是一个函数
,但我必须说,现在我更多地使用它来学习。因为我想我可能会从
p5.gui
切换到
dat.gui
,这样看起来更好看。另外,我不会像使用
p5.gui
@Tim那样痛苦,我相信你会遇到错误。我只是想知道它是否与
QuickSettings
库的版本控制有关?在
QuickSettings
参考中的何处可以看到
addButton()
函数?其他功能是否正常工作?