浏览器的不同输出为Javascript代码

时间:2012-01-29 10:02:07

标签: javascript html

以下是 Javascript

中的内容
var x=["1","2","3","4","5","6"];
c = (b = x[1])[0] ;
alert("B=" + b);
alert("C=" + c);

当我在Firefox 9.0.1中运行它时,我得到低于输出。

B=2
C=2

当我在IE7中运行相同时,我得到低于输出。

B=2
C=undefined

我能知道为什么 IE 显示为未定义 ??

提前致谢!!!

2 个答案:

答案 0 :(得分:4)

那是因为IE7不支持按索引访问字符串。

这适用于所有浏览器:

c = (b = x[1]).charAt(0);

答案 1 :(得分:1)

这是因为Internet Explorer不支持字符串的array-like character access

在您的代码中,您希望访问以下字符串的第一个字符:"2",这在Internet Explorer中不受支持。

您可以使用String.charAt()来获得相同的结果:

c = (b = x[1]).charAt(0);