需要帮助使用2 .js文件

时间:2013-09-28 04:00:41

标签: javascript

两个.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]);

有人可以让我知道我做错了吗?

1 个答案:

答案 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);