假设我有两个javascript文件:
Master.js
的内容是这样的:
<script src="child.js"></script>
<script>
var GlobalVariables = {
'baseUrl": "localhost"
};
$(document).ready(function() {
Child.initialize(true);
});
</script>
您可以看到Master.js
文件加载了Child.js
文件并创建了一个GlobalVariables
,我需要在Child
中使用它。
这是我到目前为止在Child.js
中所做的事情:
window.Child = window.Child || {};
(function (exports){
"use strict";
exports.GlobalVariables= {};
exports.initialize = function (bindEventHandlers) {
bindEventHandlers = bindEventHandlers || true;
exports.GlobalVariables= GlobalVariables;
}
var label = $('#someLabel').html(GlobalVariables.baseUrl);
我也使用GlobalVariables
定义了变量exports.
,但是我只能在GlobalVariables.baseUrl
函数的initialize
中使用label
来访问它。得到:
未捕获的ReferenceError:未定义GlobalVariables
我做错了什么?
更新
好吧,感谢@Quentin回答,我能够对我的代码进行以下编辑:
exports.initialize = function (bindEventHandlers) {
bindEventHandlers = bindEventHandlers || true;
if (bindEventHandlers) {
_bindEventHandlers();
}
}
function _bindEventHandlers() {
var label = $('#someLabel').html(GlobalVariables.baseUrl);
}
答案 0 :(得分:1)
在 child.js 中,您尝试读取内联脚本中GlobalVariables
的值,然后声明GlobalVariables
并给它一个值。
必须先声明变量,然后才能从其中读取。