parseınt, 24, null () = = = 23... bekle, ne?
Tamam, bu yüzden etrafında parseınt ile değerleri henüz başlatılmamış nasıl işleyeceğini görmek için uğraşıyordum ve bu taş sendeledi. Aşağıda herhangi bir taban 24 veya üstü olur.
parseInt(null, 24) === 23 // evaluates to true
IE, Chrome ve Firefox ile test ettim ve hepsi uyarı belirtimi içinde bir yerlerde olmalı diye düşünüyorum, çok doğru. Hızlı bir Google Arama beni ben burada herhangi bir sonuca, birisi açıklayabilir vermedi.
Hatırlıyorum dinleme için bir Crockford konuşma nerede olduğunu söylemesi için typeof null === "object"
çünkü bir gözetim neden olan Nesne ve Boş bir yakın aynı tip tanımlayıcı bellek ya da bu doğrultuda bir şey, ama bulamıyorum o videoyu şimdi.
Bunu deneyin: http://jsfiddle.net/robert/txjwP/
EditDüzeltme: daha yüksek bir sayı tabanı farklı sonuçlar döndürüyor, döndürüyor 32 785077
2 düzenleyinZzzzBov: [24...30]:23, 31:714695, 32:785077, 33:859935, 34:939407, 35:1023631, 36:1112745
tl;dr
parseInt(null, 24) === 23
gerçek bir açıklama neden açıklar.
CEVAP
Dize "null"
null
dönüştürme ve dönüştürmek için çalışıyor. Radixes 23, dönüştürebilirsiniz sayı Var Yok 0, NaN
döndürür. , *9 24* 14 harf, rakam sisteme eklenir. 31, "u"
, 21 yaşında harfi eklenir ve tüm dize çözülür. 37 artık oluşturulabilir geçerli herhangi bir sayısal dizi var ve NaN döndürülür.
js> parseInt(null, 36)
1112745
>>> reduce(lambda x, y: x * 36 y, [(string.digits string.lowercase).index(x) for x in 'null'])
1112745
Neden Çift.(null) parseDouble ve Tamsa...
Null veya boş bir dize değişkeni kontr...
Null toplamı ile seri sorgusu...
Where koşulunu kullanarak NOT NULL ray...
Android Hello world yüklemek için Başa...