Javascript IE8通过命名空间调用函数时出现问题

Javascript IE8通过命名空间调用函数时出现问题,javascript,internet-explorer,Javascript,Internet Explorer,我有两个js文件。我在js文件中使用名称空间。以下是第一个JS文件的外观: (function(common, undefined) { "use strict"; common.FunctionOne = function(){ //do something }; }(window.common = window.common || {})); 第二个js文件如下所示: (function(processing, undefined) {

我有两个js文件。我在js文件中使用名称空间。以下是第一个JS文件的外观:

(function(common, undefined) {
    "use strict";

    common.FunctionOne = function(){
        //do something
    };

}(window.common = window.common || {}));
第二个js文件如下所示:

(function(processing, undefined) {
    "use strict";

    processing.FunctionTwo = function(){
         common.FunctionOne()
    };

}(window.processing = window.processing || {}));
在我的HTML页面中,我已经包含了第一个js第一个和第二个js第二个(通过标签)。我仅在IE8中遇到错误“无法获取未定义或空引用的属性'FunctionOne'。它适用于其他浏览器

我不确定,但它看起来像是某个名称空间问题。看起来IE8没有识别第一个js文件中定义的函数

有什么想法吗


谢谢。

嗨,我试图重现错误

没有文件,只有一个js和两个模块,它似乎可以工作,试着打开小提琴,首先要知道的是,代码本身失败了吗

如果它工作正常,我们可以尝试确保,在这两种情况下是相同的窗口对象吗? 如果存在iframe,则可能在错误的窗口对象中设置代码


您可以尝试添加调试器;在第二个函数中画一行并形成控制台查看窗口对象,通过“标记”查看它有什么好处你指的是内联JS标记还是外部JS脚本?我在browserstack上的IE8控制台(Win 7)中对此进行了测试,将FunctionOne改为console out“hey friend”,处理起来效果很好。FunctionTwo()。也许这与IE8中包含它们的方式有关,因为它不是名称空间issue@levi我通过如何运行页面来介绍它们:只需双击html页面,或者您拥有本地web服务器(如IIS、Apache等)?
(function(common, undefined) {
    "use strict";

    common.FunctionOne = function(){
        //do something
      $("#one").html("Hi you");
    };

}(window.common = window.common || {}));

(function(processing, undefined) {
    "use strict";

    processing.FunctionTwo = function(){
         common.FunctionOne();
    };

}(window.processing = window.processing || {}));
window.processing.FunctionTwo();