为什么使用 JavaScript 中 string 的 trim 方法时要替换 \uFEFF ...

 我来答
育知同创教育
2016-05-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
\uFEFF(Unicode 编码:U+FEFF )。它是 ES5 新增的空白符,叫「字节次序标记字符(Byte Order Mark)」,也就是 BOM;
  Unicode3.2 之前,\uFEFF 表示「零宽不换行空格(Zero Width No-Break Space)」;
  Unicode3.2 新增了 \u2060 用来表示零宽不换行空格, \uFEFF 就只用来表示「字节次序标记字符(Byte Order Mark)」;

  String.prototype.trim 是 ES5 增加的方法,对于老旧浏览器,还得使用自己实现的 trim;
  至少在 低版本的 IE浏览器下 ,jQuery 1.7.2 是无法过滤字符串两端的 BOM 字符。

  考虑到某些浏览器实现的 trim 不过滤 <NBSP> 或 <BOM>,
  于是 jQuery 多加了一层检测,jQuery 1.8.1 在之前版本的基础上就添加了对BOM的过滤
凉凉凉亮
2018-04-16 · TA获得超过3591个赞
知道小有建树答主
回答量:52
采纳率:50%
帮助的人:2.3万
展开全部

其实就是电脑文件的BOM问题。

架设js需要通过Ajax获取内容,判断内容是否等于abc的时候,如果ajax请求文件存在BOM头,那么结果可能就是\uFEFF\u0061\u0062\u0063,那么判断时候就会出错。所以把\uFEFF去掉。

平常都不需要这样处理,需要这样处理大多的话,是因为没有规范文档编码

有时候操作这些东西的时候,t替换些东西是没办法的,按正常操作来进行就可以了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式