找不到我添加到外部 javascript 库的方法

can't find the method I added to the external javascript library

我是 Javascript 的新人。 我想向名为 jsPDF 的外部库添加一个方法。 所以我尝试将名为 'addHangle' 的函数添加到 jsPDF.prototype 但是jsPDF的对象没有找到我的方法

我试过调试,发现 jsPDF.prototype 是 Object.prototype

的指针

为什么会这样?我认为 doc.construct 是 jsPDF 的指针, doc.__proto__ 是 jsPDF.prototype

的指针

有谁知道原因吗?请告诉我。 我的代码在下面。

jsPDF.prototype.addHangle = function(x, y, text) { 
  // some logic for supporting Korean
};

var doc = new jsPDF();
doc.addHangle();

你好关注linkhttps://github.com/happymishra/JavaScriptTutorials/blob/master/Part2/Prototypes.md

您将了解原型

因为jsPDF构造函数returns API对象。 以下示例可能会帮助您理解为什么 doc 的原型不是 jsPDF

var P = function() {
    var API = {};

    // This is constructor of P
    function P() {
      // Do something...
      API.a = function(val){return val};
      return API;
    }

    return P;
};

var p = new P();
var result = p instanceof P; // false

您可以看到当 new jsPDF()jsPDF GitHub 调用时真正发生了什么

如果你想插入你自己的方法,你必须把它做成jsPDF插件。 您可以在 https://github.com/MrRio/jsPDF/tree/master/plugins

参考 jsPDF 的其他插件