JavaScript-同样一段js代码,为什么在IE跟火狐下的结果会不一样

发布于 2016-11-08 11:51:45 字数 139 浏览 1310 评论 3

var last_tag = '的的  x';
last_tag = last_tag.replace(/[s]+x$/, '');
alert(last_tag);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

偏爱自由 2017-10-23 14:13:50

不同浏览器的js引擎不一样,像div+css一样,不同浏览器的标准和规范不一样,渲染的结果不一样。
于是就有兼容性问题。

晚风撩人 2017-09-30 00:44:40

这是群里一位朋友告诉我的答案
'的的 x'这边的空格好像是中文的空格……unicode 160 呢……刚测了一下,IE7 的 s 只包括了 unicode 9 10 11 12 13 32,到 IE8 才加了 160……之后就都是 9 10 11 12 13 32 160,所以那个 IE7 测不出来……

可以用不同浏览器下运行这段代码

for(var i = 0; i < 1000; i += 1) {
if (String.fromCharCode(i).replace(/s/, "") === "")
console.log(i);
}

在火狐和 IE 下面都运行一下,两个结果的区别就是原因的说……

在正则表达式修改成/[su00A0]+x$/ 问题解决 。
最后谢谢大家的回答哦

虐人心 2016-12-06 13:26:45

我这没有xp,我在win7 下,IE7/8/9和ff的结果是一样的。都是 '的的'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文