<script>
var num=10;
while(num<=20000000){
document.write(num+'<br/>');
num++;
}
</script>
Wie Sie oben sehen können num beginnt bei 10 und geht bis 20 Millionen. Aber, dieses Programm funktioniert nicht auf meinem Computer. Mein Computer erstarrt, nachdem dieser Code einige Sekunden lang ausgeführt wurde. Ist 20 Millionen sehr großer Wert, den Javascript nicht behandeln kann oder ihr Problem mit dem Browser-Speicher ist, über den ich nicht weiß. Wenn ich dieselbe Logik in c verwende, funktioniert es. Was ist das Problem hier?Javascript-Programm funktioniert nicht mehr für große Werte
My computer configuration :
Main Memory : 2GB
processor : Intel Quad core processor (up to 2.66 GHz)
laufen können Viewer kann nicht zwanzig Millionen Zeilen gleichzeitig in "Dokument" lesen. Die Verwendung der while-Schleife ist nicht notwendig. Fügen Sie '# text' Knoten' inkrementell' hinzu. – guest271314
Das Ändern des DOM ist teuer. Sie können das Glück haben, die Saite zu verketten und sie auf einmal hinzuzufügen (oder jede Million, vielleicht). – mrlew
Siehe [jQuery - Können Threads/asynchron ausgeführt werden?] (Http://stackoverflow.com/questions/26068821/jquery-can-threads-asynchronous-be-done/) 10.000 Elemente gleichzeitig bearbeiten 250 Elemente; [So lösen Sie Uncaught RangeError beim Download großer Größe json] (http://stackoverflow.com/questions/39959467/how-to-solve-uncaught-rangeerror-when-download-large-size-json/) Prozess Download von 189.8 MB (189.778.220 Bytes) Datei – guest271314