\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的过滤
上面是引用过来的
说白了就是文件的BOM问题,
架设js通过Ajax获取内容,并判断内容是否等于abc的时候,如果ajax请求的文件存在BOM头,那么结果就是\uFEFF\u0061\u0062\u0063,那么判断的时候就会出错。所以把\uFEFF去掉。
一般都不需要这样处理,需要这样处理大多是因为没有规范文档编码