Visual Studio 2013似乎不理解javascript语法

Visual Studio 2013似乎不理解javascript语法,javascript,arrays,visual-studio,Javascript,Arrays,Visual Studio,将运行在COM+上的大型旧DHTML应用程序移植到dotnet(C#)时,我遇到了一个问题。我想保持大量的javascript“原样”。我已经在IE11和所有其他当前浏览器上测试了旧版本,在那里它运行得很好!(我不使用JQUERY!) 现在问题来了: Visual Studio 2013调试环境似乎拒绝理解正常的javascript语法。简单地说,它拒绝理解在javascript中,可以使用全局数组执行以下操作: var SomeArray = new Array(); function Vul

将运行在COM+上的大型旧DHTML应用程序移植到dotnet(C#)时,我遇到了一个问题。我想保持大量的javascript“原样”。我已经在IE11和所有其他当前浏览器上测试了旧版本,在那里它运行得很好!(我不使用JQUERY!)

现在问题来了: Visual Studio 2013调试环境似乎拒绝理解正常的javascript语法。简单地说,它拒绝理解在javascript中,可以使用全局数组执行以下操作:

var SomeArray = new Array();
function VulTitelLijst(){
    try {
        SomeArray["aa"] = "bb";
    } catch (err) { alert(err.description);}
    //etc. 
}
当我在Visual Studio 2013调试器中运行此代码时,调试器将进入捕获模式并报告“我无法将值设置为未标识的实体”。此错误由浏览器产生。然而,上面的javascript是非常有效的

也不允许在全局数组上执行其他操作,如“推送”等

补充:什么是有效的

var SomeArray = new Array();
function VulTitelLijst(){
    var arHlp = new Array();
    try {
        arHlp["aa"] = "bb";
        SomeArray = arHlp;
    } catch (err) { alert(err.description);}

    testArray();

    //etc. 
}

function testArray(){
    var tmpTest = SomeArray["aa"];
    alert('tmpTest = ' + tmpTest);
}
现在有很多奇怪的事情:
1.)在浏览器中正常运行代码时,不需要使用中间数组完成整个业务。那么,为什么从VS2013在浏览器中运行时需要这样做呢?
2.)从VS 2013以调试模式从IE11运行时,它似乎不知何故不理解或混淆javascript中关于上下文和名称空间的规则(这是我得到的印象)
3.)如果它无法从例程内部识别我的全局数组,人们应该认为它根本无法识别其中的内容,但事实并非如此,因为在例程内部,我可以将数组作为一个整体进行复制,也可以从数组中复制,但可以复制到其中的一部分
4.)问题行为是由VS2013引起的(在正常环境下运行正常),但错误是由IE11(荷兰语)生成的
5.)为什么只有在调试模式下浏览器(IE11)才会出现此问题?

我不是javascript的新手(多年来一直在做这项工作,没有遇到任何问题。)发生了什么事?
对我来说,这是VS 2013中的一个错误的味道??


顺便说一句,请原谅下面的评论,它们一定看起来像胡言乱语,我对在这些评论中输入代码有点过于雄心勃勃

首先。我建议您用英语安装Visual Studio。当用英语报告错误时,搜索错误就容易多了(我是丹麦人,因此总是用英语运行IDE)。如果你能用英语发布准确的错误,帮助会容易得多。你是对的,只是产生错误消息的不是Visual Studio(英语),而是IE11(预装在电脑上)。但是,我现在不想改变设置,因为我正在进行一个时间有限的项目。下面是最后一句话:然而,根据我已有的预感,我确实找到了一个切实可行的解决方案,这与VisualStudio在自己的环境和运行javascript的浏览器环境之间混合了上下文和名称空间的te规则有关。我发现以下代码确实有效,这似乎支持了这一点:var SomeArray=new Array();函数VulTitelLijst(){try{SomeArray[“aa”]=“bb”}catch(err){alert(err.description);}alert(987);}抱歉,按ENTER键太快,这是有效的代码,var SomeArray=new Array();函数VulTitelLijst(){var arHlp=new Array();try{arHlp[“aa”]=“bb”;}catch(err){alert(err.description);}SomeArray=arHlp;}函数TestArray(){var tmpTest=SomeArray[“aa”];alert('tmpTest='+tmpTest);}这很奇怪,因为在javascript中不需要这样的中间数组。更奇怪的是,错误是由IE11生成的,但只从VisualStudio2013 IDE运行???VS中的一个错误??抱歉,最新添加的代码似乎无法正确显示格式化的代码。。