我的页面(myScript.js)中包含以下脚本。
function constr(args) {
var param1 = args;
function drawTable(element, tableRows) {
// code that creates table with rows = tableRows and appends table to the passed element
}
drawContainer(); // call to and extended functionality
}
var obj = new constr(10);
但是我需要通过其他一些私有方法来扩展 obj。这些方法将从另一个脚本 (myScript2.js) 加载,其中一些必须覆盖 constr 中的一些私有方法。扩展方法也应该能够与 param1 和 constr 中的其他私有变量一起工作。理想情况下,一切都是私人的。
在 myScript2.js 我应该有类似的东西
constr.prototype = (function() {
return {
constructor:constr,
drawContainer: function() {
var container = document.createElement("DIV");
document.append(container);
drawTable(container, param1);
}
}
})();
通过执行以下原型,我假设通过另一个私有类-“drawContainer”扩展 constr 函数,并且能够从原始 constr 函数调用 drawTable 并访问 param1。
以下示例不起作用。我为什么这样做的想法是我想要一个 js 对象的模块,它在需要时向页面加载额外的功能。