0
<script>
var num=10;
while(num<=20000000){
document.write(num+'<br/>');
num++;
}
</script>
上記のように、numは10で始まり、2,000万までになります。しかし、このプログラムは私のコンピュータでは動作しません。私のコンピュータはこのコードを数秒間実行するとフリーズします。 2000万人がJavaScriptを扱うことができない非常に大きな価値か、それとも私が気づいていないブラウザのメモリに関する問題ですか?同じロジックをC言語で実行すると、動作します。ここで何が問題なの?大きな値の場合、javascriptプログラムの動作が停止しました
My computer configuration :
Main Memory : 2GB
processor : Intel Quad core processor (up to 2.66 GHz)
を、あなたのプログラムを実行することができる場所NodeJSを使用することですViewerは一度に 'document'の2千万行を読むことができません。 'while'ループを使う必要はありません。 '#text'ノードを' document'にインクリメンタルに追加してください。 – guest271314
DOMの変更は高価です。あなたは、ストリングをconcateningし、すぐに(または、おそらく各百万、)それを追加するより良い運を持つことができます。 – mrlew
[jQuery - スレッド/非同期はできますか?](http://stackoverflow.com/questions/26068821/jquery-can-threads-asynchronous-be-done/)では、一度に250アイテムずつ10,000アイテムを処理します。 [大規模なjsonをダウンロードするとUncaught RangeErrorを解決する方法](http://stackoverflow.com/questions/39959467/how-to-solve-uncaught-rangeerror-when-download-large-size-json/)189.8のプロセスダウンロードMB(189,778,220バイト)ファイル – guest271314