第三方javascript库中奇怪的比较
Weird comparison in third-party javascript library
当我修复一些js语法以避免最小化问题时,我在第三方js库中发现了这个块:
if (''u0041' == 'A') {
var u = n.userAgent;
if (u.indexOf('Safari') == -1) {
[...]
}
}
代码块后面没有其他条件,基本上检查浏览器类型和版本…无论如何,我不明白为什么要比较'A'字符的unicode代码和'A'字符!:/
以前有人遇到过这样的情况吗?是我漏掉了什么,还是它毫无用处?
这一定是一个相当老的库,测试javaScript对Unicode的支持
对于像Netscape Navigator 4这样的旧浏览器,它只支持Latin-1
编码''xXX'
,而不支持完整的Unicode ''uXXXX'
我认为它是用来检测浏览器是否为safari 2.0.4,因为它有理解正则表达式的问题:https://discussions.apple.com/thread/689517?start=0& tstart = 0
相关文章:
- 无法比较javascript变量
- 比较javascript中的浮动并更改最高浮动的颜色
- 比较Javascript中的两个字符串时出错
- 比较javascript数组中的数值
- 比较 JavaScript 中的值
- 如何比较 JavaScript 格式为 2011-jan-21 的两个日期
- 是否有必要使用 === 来比较 Javascript 中的字符串,或者 == 就足够了
- 使用Jquery比较Javascript中的两个列表/表
- 比较javascript中的两个数组
- 如何在单元测试中比较JavaScript对象
- 比较javascript/jquery中的两个字符串
- 比较Javascript中的两个数组
- 比较javascript中的数组时出错
- 比较javascript中的函数指针
- 无法比较 javascript 数组中的两个值
- 如何仅针对某些属性比较 JavaScript 中的对象
- 循环并比较JavaScript对象
- 比较 JavaScript 中的变量
- 比较Javascript/Jquery中的确切结果
- 比较 JavaScript 日期对象