[英]Different output across browser for Javascript code
以下是我在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显示为undefined吗?
提前致谢!!!
这是因为IE7不支持按索引访问字符串。
这适用于所有浏览器:
c = (b = x[1]).charAt(0);
这是因为Internet Explorer不支持对字符串进行类似数组的字符访问 。
在您的代码中,您要访问以下字符串的第一个字符: "2"
,Internet Explorer不支持。
您可以使用String.charAt()
获得相同的结果:
c = (b = x[1]).charAt(0);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.