在我的 html 代码中,我导入了一个外部 js 文件,也有我自己的内联 js 代码,在我自己的 js 代码中,我需要调用在外部 js 文件中定义的对象的方法。渲染后,源代码如下所示:
<script type="text/javascript">
// content of the extenral js file
...
var bar = {};
bar.foo = {};
...
bar.foo.class = {};
bar.foo.class.method = function() {...};
...
</script>
<script type="text/javascript">
// content of my own javascript code
...
function load() {
...
bar.foo.class.method();
...
}
...
</script>
对于我正在使用的框架,我无法将这两个部分放在一个地方(即两者都在外部 js 文件中,或者都在我自己的内联 js 代码中)。现在,此代码在 Firefox、Chrome 和 Safari 中有效,但在 IE 中无效。IE 调试器显示如下错误:“无法获取属性 'foo' 的值:对象为空或未定义”
看起来第一个标签中定义的 bar.foo.class 对第二个标签不可见,或者第二个标签在第一个标签之前执行(第一个标签是关于类定义的,没有真正的工作流)。
有谁知道如何在 IE 中解决这个问题?谢谢!