Странное сравнение в сторонней библиотеке javascript - PullRequest
4 голосов
/ 18 ноября 2011

Пока я исправлял некоторый синтаксис js, чтобы избежать проблем с минимизацией, я обнаружил этот блок в сторонней библиотеке js:

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

Блок не выполняет никаких других условий и в основном проверяет тип браузераи версия ... во всяком случае, я не понимаю, почему он должен сравнивать код Unicode для символа "A" и, ну, в общем, символ "A"!: /

Кто-нибудь сталкивался с подобным состоянием раньше?Я что-то упустил или это бесполезно?

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Это должна быть довольно старая библиотека, которая проверяет поддержку javaScript Unicode .

Для старого браузера, такого как Netscape Navigator 4, он поддерживает только Latin-1 кодировку '\xXX', кроме полной поддержки Unicode '\uXXXX'

1 голос
/ 18 ноября 2011

Я думаю, что он используется для определения, является ли браузер Safari 2.0.4, потому что у него есть проблемы с пониманием регулярных выражений: https://discussions.apple.com/thread/689517?start=0&tstart=0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...