js函数split(),用空格作为分隔符时,使用正则表达式,会存在浏览器兼容问题。
请看下面代码:
<script type="text/javascript">
var strTest = " a b c ";
var splitArr1 = strTest.split(/\s/); //或var splitArr1 = strTest.split(/\s+/);存在浏览器兼容问题
var splitArr2 = strTest.split(" "); //不存在浏览器兼容问题
alert("splitArr1="+splitArr1.length+";splitArr2="+splitArr2.length);
</script>
也许我们会认为以上代码,splitArr1和splitArr2得到的结果是一样的,不存在浏览器兼容问题。但是,实际上,
将以上代码分别在IE,firefox,google chrome上运行,会发现,splitArr1得到的结果不一样。而splitArr2得到的结果相同。
因此,splitArr1的分割方式,存在浏览器兼容问题。
建议不要这样使用,或者在使用时,先将多余空格去掉,再用。
本文探讨了JavaScript中split()函数使用正则表达式作为分隔符时的浏览器兼容性问题,并提供了避免此问题的建议。
592

被折叠的 条评论
为什么被折叠?



