JavaScript Diary

出力の方法 [ 2001/06/21 ]
出力するとき write メソッドを使用しますが、書き方によって処理時間がえらく変わってきます。 例えば、以下、
for(var i=0;i<500;i++){
    var text = i+""+i+""+i+""+i+""+i+""+"\n" ;
    document.write( text );
}
こう書けば問題ないですが、
for(var i=0;i<500;i++){
    document.write( i );
    document.write( i );
    document.write( i );
    document.write( i );
    document.write( i );
    document.write( "\n" );
}
↑のように書いてしまうと無茶苦茶時間がかかってしまいます。実行してみればわかりますが、とくに Netscape4.x では切実です(これは他言語でも同様で、前者のように適度にまとめて一回で出力する方が速いです)。
しかし、前者の方法でも text 部分が長い文字列になると環境によってはエラーを発生させてしまいます。ので、気休めかも知れませんが以下のように ,(カンマ) で区切って吐き出してみてはいかがでしょうか?
実行してみましたが、処理時間的には前者のものとほぼ同じでした。
for(var i=0;i<500;i++) document.write( i, i, i, i, i, "\n" );