我有两个JS文件 - first.js
和second.js
。
first.js
包含一些常见的库函数,而second.js
是使用它们的实际代码。
first.js
的结构是这样的 -
var globalObj = {};
(function($){
globalObj.data = {};
globalObj.func1 = function(){
};
globalObj.func2 = function(){
};
//......
})(jQuery)
我的second.js
看起来像这样 -
(function($){
function init(){
console.log(globalObj);
var val1 = globalObj.func1();
globalObj.func3 = function(){
};
}
$(document).ready(function(){
init();
});
})(jQuery)
如上所示,在second.js
中,我想使用first.js
中定义的函数,并为globalObj
添加更多函数。
我的问题是 -
我在宣布first.js
的{{1}}中收到错误 - globalObj.data
。
在Uncaught TypeError: Cannot set property 'data' of undefined
的{{1}}内console.log(globalObj)
,我得到一个空对象,而我希望它显示init()
中定义的内容second.js
。
关键是,在globalObj
中,我想使用和修改在first.js
内声明和定义的相同全局变量。我怎样才能做到这一点?另外,请注意,我必须使用两个JS文件中存在的匿名自执行功能块。请帮忙。
second.js
之前调用 first.js
。