从不同的JS文件调用自执行函数

时间:2016-06-23 20:22:11

标签: javascript jquery

我已经阅读过JavaScript中的自我执行功能,并决定今天尝试一下。我遇到了一个我无法解决的问题。

我有一个文件调用service.js

var api = (function (window, document, $, undefined) {

var Service = function (obj) {
    console.log(obj);
}
 window.Service = Service

return {
    service : Service
}

})(window,document,jQuery);

我有另一个文件调用CallServiceAPI.js

$('#SearchUser').on('click', function () {
    var SearchUserObj = {}
    //Build an object with the necessary properties and try to call the api

    var FindUser = api.Service(SearchUserObj)
});

它抛出以下错误: Reference.js:41未捕获的ReferenceError:未定义api。

我做错了什么?

阅读评论后,我认为我完全误解了this文章。

1 个答案:

答案 0 :(得分:0)

阅读评论后,我能够通过以下方式修复: 1.确保所有变量都已正确声明 2.在我的布局中引用文件

var api = (function (window, document, $, undefined) {

var Service = function (obj) {
    console.log(obj);
}
 window.Service = Service

return {
    Service : Service
}