以下是 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 显示为未定义 ??
提前致谢!!!
答案 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);