私はan article about javascript PRNGsを読んでいた、と私は私を驚かせた何かに出くわした:(なぜ) `array [NaN]`は何もしませんか?
var a = new Array(); var b; a[b++] = 1;
a
は今[]
で、例外がスローされない - 配列への書き込みは、単純に消えます。あなたが私を信じていない場合は、ブラウザのコンソールで試してみてください。
私は彼を信じていなかったので、私は私のブラウザのコンソール(Firefoxの47)でそれを試してみた:
» var a = new Array();
» var b;
» a[b++] = 1
» a
← Array [ ]
» b
← NaN
はここで起こっていくつかの好奇心の事があるが、特に、私はよ文a[b++] = 1
が何かをしていないように見える理由を理解しようとする。
これはない - それは '[のNaN]に '1'を'割り当て。 'a [NaN]'にアクセスして、それがそこにあるのを見てください。また滑りやすい道です。あなたは、標準化されていないホストオブジェクトから何かを期待しています( 'console'はそうではありません)。だから、あなたが見ているものが期待されているかどうかをどうやって知っていますか? – zerkms