第三方javascript库中的奇怪比较

时间:2011-11-18 08:18:18

标签: javascript unicode

当我修复一些js语法以避免缩小问题时,我在第三方js库中发现了这个块:

if ('\u0041' == 'A') {
   var u = n.userAgent;
   if (u.indexOf('Safari') == -1) { 
     [...] 
   }
}

该块没有其他条件,并且基本上检查浏览器类型和版本......无论如何,我不明白为什么它应该在' A'的unicode代码之间进行比较。性格,以及' A'字符! :/

以前有人遇到这样的情况吗?我错过了什么或它没用?

2 个答案:

答案 0 :(得分:3)

它必须是一个非常古老的库测试javaScript对Unicode的支持

对于像Netscape Navigator 4这样的旧浏览器,它只支持Latin-1编码'\xXX',而不是完整的Unicode支持'\uXXXX'

答案 1 :(得分:1)

我认为它用于检测浏览器是否是safari 2.0.4,因为它在理解正则表达式方面存在问题: https://discussions.apple.com/thread/689517?start=0&tstart=0