javascript
1for(var p in xx) {
2 document.write(...);
3 document.write(...);
4}
5上記の実行結果は、
6最初のwrite
7次のwrite
8...(交互に出力される)
9コード
javascript
1for (var p in xx) document.write(...);
2document.write(...);
3上記の実行結果
4最初のwrite
5...
6次のwrite
7コード
javascript
1for (var p in xx) docunent.write(...)
2document.write(...)
3上記の実行結果
4最初のwrite
5...
6次のwrite
7コード
javascript の文法は、セミコロンがない場合は改行コードでステートメントの区切りと見なす。
セミコロンがある場合は、1行に複数のステートメントを記述できる(マルチステートメント)。
for 文は、後続のステートメントを実行する。複数のステートメントを1つのステートメントと
みなしたい場合に、{ と } で囲むことで、任意複数行のステートメントを実行できる。
よって、質問の想定する結果にはなりません。
for (var p in xx)
document.write(xx[p]);
document.write(p);
この場合、xx[p] が一杯出力された後、p が1個だけ出力されますが、
高級言語 (java, c#など)の文法では、2つ目のducument.writeは実行できないエラーになります。
javascript 変数スコープがことなるので、高級言語に慣れた方が意図せずに記述ミスに気がつかず、期待通りになぜか動作してしまう謎の事象で悩むことがあったりします。
余談でした。
コード
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。