第三方javascript库中奇怪的比较

Weird comparison in third-party javascript library

本文关键字:比较 javascript 第三方      更新时间:2023-09-26

当我修复一些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