了解しました。それで、parseIntをいじって、まだ初期化されていない値を処理する方法を確認していたところ、このgemを偶然見つけました。以下は、基数24以上で発生します。
parseInt(null, 24) === 23 // evaluates to true
私はそれをIE、Chrome、Firefoxでテストしましたが、すべてがtrueであることを警告しているので、仕様のどこかにあるはずだと思います。Googleをすばやく検索しても結果は得られなかったので、ここで私は誰かが説明してくれることを望んでいます。
typeof null === "object"
見落としが原因でObjectとNullがメモリ内のほぼ同じ型識別子またはそれらに沿った何かを持っているために彼が言っていたCrockfordのスピーチを聞いたことを覚えていますが、今はそのビデオを見つけることができません。
試してみてください:http : //jsfiddle.net/robert/txjwP/
編集の修正:基数が大きいと異なる結果が返され、32の場合は785077が返されます
編集2 zzzzBovから:[24...30]:23, 31:714695, 32:785077, 33:859935, 34:939407, 35:1023631, 36:1112745
tl; dr
parseInt(null, 24) === 23
が真の声明である理由を説明してください。
alert(parseInt(null, 34) === 23)
作成済みfalse
alert(parseInt(null,26)===23);
また、真の?!?!
[24...30]:23
、31:714695
、32:785077
、33:859935
、34:939407
、35:1023631
、36:1112745
、[37...]:NaN
undefined
として、最初のパラメーターが30代の奇妙な結果を返すため