Bir WordPress kullanmak kaynaklarında garip kod:! = var= var ? x : y;
Son zamanlarda jQuery kaynakları (son sürüm 1.9.1, Cızırtı paketi, 129 funescape
fonksiyon hattı) çok garip bir hat buldum:
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
karşılaştırma yapmak için sebebi nedir? Belli ki return escaped
asla idam olacak gibi görünüyor. Ya bir şey kaçırdım?
Referans:https://github.com/jquery/sizzle/blob/master/sizzle.js#L129
CEVAP
Aslında bu yorum tam üstünde yazdığı gibi:
// NaN olmayan codepoint anlamına gelir
Zorunlu bu karşılaştırma ilk JavaScript gibi NaN
davaya gerçekleştirmek için:
NaN === NaN
false
döndürür.
James Wiseman tarafından işaret olarak da önemli daha net olurdu geliştirici isNaN(high)
yerine high !== high
kullanılan neden.
Kesinlikle performans dayanmaktadır. test a !== a
olduğunu gösteriryirmi kat daha hızlıdaha isNaN(a)
.
zzzzBov isNaN()
üzerine, !==
ayrıca daha taşınabilir kullanarak gösterir.
Daha fazla Benjamin Gruenbaum bilgi:
Ayrıca NaN başka bir şey değildir fazlalaştı gibi iyi de unstrict bir anlamda başka bir şey eşit değildir
Ve Jan Dvorak:
Ayrıca not
{valueOf:function(){return{}}}
kendini eşit oluyor
bir WordPress kullanmak değiştir arası...
Eğer bir giriş varsa test etmek için k...
Nasıl bir WordPress kullanmak -$.() po...
Nasıl bir WordPress kullanmak bir işle...
Nasıl bir WordPress kullanmak KOYMAK/S...