var hash = "";
var count = 1;
var n = 3;
for (var pound = 1; pound <=7; pound ++)
{while (hash.length != count)
hash += "#";
hash += "\n";
count += n;
n ++;}
console.log(hash);
こんにちは、私はJavaScriptを使い慣れていて、一般的にはコーディングにかなり新しいです。上記のコードを分析するのに2時間を費やしました。ところで、私は何の助けもなく自分自身を生成しました。私はそれがなぜ、どのように動作するのかわからないので、私は誇りに思っているとは言いません。私は仕事の背後にある基本的な数学を得て、最終的に変数の値をチェックすると、結果が私の計算と一致します。しかし、私は正確に何が起こるか知りません。 '#'を使用して三角形を生成します。私は、ループが何をしているのかを正確に見るためにForループを削除しようとしましたが、私はそれを止めません。見てください。JavaScript:forループ内のwhileループ
最初は、最初のForループでwhileループに入ると、hash.lengthの値は0になります。これを1にカウントすると比較すると、一致しないのでnextlineになります。 "#"と "\ n"を加えた後、hash.lengthは2になります。しかし、コードは最後まで読み込まれ、var countが4になり、var nも4になります。
今、次のループはwhileループ内では発生しません。これを自分で試してみました。 Forループに戻ります。 "hash.length!= count"の条件を調べると、hash.lengthが2でcountが4になっているので、この条件はまだ成り立ちます。これらは等しくないので、Whileループを再度実行する前にwhileを繰り返すべきではありません?
これは有効なjavascriptのようには見えません。最低限、forの左括弧は匹敵しません。これは実行しないでください。 – Carcigenicate
@Carcigenicate:これは有効です。それが実行されます。それはちょうどひどくフォーマットされています。 – Amadan
@Amadanおっと!モバイルアプリでは、forループの右端がスクロールされるまで切られます。 – Carcigenicate