Недавно я нашел одну странную строку в источниках jQuery (последняя версия 1.9.1, пакет Sizzle, строка 129 funescape
):
funescape = function( _, escaped ) {
var high = "0x" + escaped - 0x10000;
// NaN means non-codepoint
return high !== high ? // <--- LINE 129
escaped :
// BMP codepoint
high < 0 ?
String.fromCharCode( high + 0x10000 ) :
// Supplemental Plane codepoint (surrogate pair)
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
};
В чем причина сравнения high !== high
? Очевидно, что return escaped
никогда не будет выполнен. Или мне что-то не хватает?
Ссылка: https://github.com/jquery/sizzle/blob/master/sizzle.js#L129