我已经用JavaScript编写了一个库,并且为了优化加载,我想将代码与必要时动态加载的文件分开。
如果我创建一个库实例,则工作正常,但是如果我创建多个实例,则没有任何效果。这是我目前使用的结构的一个小例子。
页面上的脚本实例化了一个“计算器”对象,该页面已加载了我的基本库。
然后我调用一个方法(加法)。然后,将动态加载该方法(我的“计算器”库中不存在此方法)。我使用include.js动态加载脚本。当我检查导航器的“网络”选项卡时,文件已正确加载,但功能未执行(在多实例情况下)
如果仅使用一个实例,则可以,控制台显示5。但是,如果我使用另一个实例,则没有输出,则不会触发Tools.add()方法。
非常感谢您的帮助,我尝试了很多事情,但都没有成功。我确实需要将库分成几个部分并使用它的多个实例。也许我没有正确的方法?
html主页上的代码
<script src="component.js"></script>
<script>
var instance1 = new Calculator();
instance1.Addition(2, 3);
var instance2 = new Calculator();
instance2.Addition(4, 6);
</script>
component.js
var Calculator = function () {
this.Addition = function (a, b) {
include(['dependency.js'], function () {
console.log(Tools.add(a, b));
});
};
this.Multiply = function (a, b) {
console.log(a * b);
};
};
dependency.js是动态加载的
var Tools = (function () {
return {
add: function (a, b) {
return a + b;
}
}
})();