两个.js文件都单独使用我的代码,但是当我尝试从一个构造函数访问它时,它不起作用。
//.js file 1 Ex
(function(){
var Colors = function(color1,color2) {
this.color1 = color1;
this.color2 = color2;
};
})();
我需要在我的第二个文件中使用它们,就好像它们在第一个文件中一样。
//.js file 2
var colors = [
new Colors('green','blue'),
new Colors('green','blue')];
console.log(colors[1] + colors[2]);
有人可以让我知道我做错了吗?
答案 0 :(得分:3)
(function(){
var Colors = function(color1,color2) {
this.color1 = color1;
this.color2 = color2;
};
})();
这里IIFE函数包装器的要点是隐藏在其中声明的变量。在这种情况下你可以把它取下来。如果您的情况确实需要这样的“私有”变量,请以某种方式全局导出重要部分,例如
var Colors = (function() {
function Colors(color1, color2) {
this.color1 = color1;
this.color2 = color2;
}
return Colors;
})();
或者
(function(global) {
function Colors(color1, color2) {
this.color1 = color1;
this.color2 = color2;
}
global.Colors = Colors;
})(this);