Javascript:将字符串视为数组在本地工作,但不部署在IE中

Javascript:将字符串视为数组在本地工作,但不部署在IE中,javascript,arrays,string,internet-explorer,internet-explorer-8,Javascript,Arrays,String,Internet Explorer,Internet Explorer 8,所以这次真的让我抓狂。我的Javascript中只有一行代码,在部署到测试服务器时不起作用,但在从VisualStudio本地运行时效果很好。在Chrome中运行该功能时,无论位置如何,都不会出现问题。这只是一个简单的行来获取字符串的最后一个字符,所以我真的很困惑为什么它停止工作了。我在本地和测试服务器上运行IE8(同一台机器正在浏览,只是移动了主机) ECMAScript 5中引入了使用括号表示法访问字符串的字符。javascript解释器可能很旧,不支持使用括号表示法从字符串中获取字符。您最

所以这次真的让我抓狂。我的Javascript中只有一行代码,在部署到测试服务器时不起作用,但在从VisualStudio本地运行时效果很好。在Chrome中运行该功能时,无论位置如何,都不会出现问题。这只是一个简单的行来获取字符串的最后一个字符,所以我真的很困惑为什么它停止工作了。我在本地和测试服务器上运行IE8(同一台机器正在浏览,只是移动了主机)


ECMAScript 5中引入了使用括号表示法访问字符串的字符。javascript解释器可能很旧,不支持使用括号表示法从字符串中获取字符。您最好使用内置函数,例如
WhichCredit.substr(-1)
WhichCredit.charAt(WhichCredit.length-1)
来执行此操作。

它可能位于同一浏览器中,但您确定在这两种情况下都以相同的模式显示吗

在一种情况下,它是否可能以IE7兼容模式显示?这将使它运行一个较旧版本的JS解释器(除其他外),这可能会导致您看到的那种效果。要检查这一点,请打开开发工具(F12)


希望能有所帮助。

但我认为Javascript解释器只在浏览器中?这是同一个浏览器,唯一的区别在于页面是否是本地的。我很高兴你找到了问题的原因,但事实是,在一些较旧的浏览器中,这仍然会带来问题,使用较旧的语法将是有益的,在大多数情况下更容易阅读。我意识到这一点,并最终确实会改变它们,但事实上,现在切换到正确的位置是不可行的。如果你指定你测试的IE版本,这会有所帮助。本地测试和在线测试的版本是一样的吗?对不起,是的,IE8正在查看这两个版本。实际上,在同一台机器上,唯一的区别是我们将主机移到了测试服务器上。好的,您确定它在两个实例中都以相同的模式显示吗?在一种情况下,它是否可能以IE7兼容模式显示?这将使它运行一个较旧版本的JS解释器(除其他外),这可能会导致您看到的那种效果。要检查这一点,请打开开发工具(F12)。如果您写下答案,我会将您标记为答案Spudley。当直接从桌面运行时,我的浏览器默认为IE8兼容模式,但从Visual Studio运行时,默认为IE8兼容模式。谢谢你的帮助。我现在觉得自己像个白痴别觉得自己像个白痴——这会吸引很多人。IE有一个坏习惯,在某些情况下默认为兼容模式,但在其他情况下不默认,并且不告诉你。
WhichCredit = WhichCredit[WhichCredit.length - 1];