не могу найти метод, который я добавил во внешнюю библиотеку JavaScript - PullRequest
0 голосов
/ 05 июня 2018

Я новенький для Javascript.Я хотел добавить метод во внешнюю библиотеку с именем jsPDF.поэтому я попытался добавить функцию с именем 'addHangle' в jsPDF.prototype, но объект jsPDF не нашел мой метод.

Я попытался отладить и обнаружил, что jsPDF.prototype - указатель на Object.прототип

Почему это случилось?Я думал, что 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();

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Поскольку конструктор jsPDF возвращает объект 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.Вы можете ссылаться на другие плагины jsPDF на https://github.com/MrRio/jsPDF/tree/master/plugins

0 голосов
/ 05 июня 2018

привет перейдите по ссылке https://github.com/happymishra/JavaScriptTutorials/blob/master/Part2/Prototypes.md

вы получите представление о прототипах

...