あなたがどれだけ JavaScript を知っているかはわかりませんが、これらのいくつかは本当に基本的なものかもしれません。
まず、素数とは、約数が 1 とそれ自体だけの数であることを思い出してください。
counterしたがって、最初の行は、この数値を保持する変数として、0 から 100 までループすることを示しています。
次の行for (var i = 2; i <= counter-1; i++)は 2 からcounter-1 までループし (1 と を除外していることに注意してくださいcounter)、 を使用iしてこの数値を保持します。
次に、が で割り切れるif (counter%i === 0) break;かどうかをテストします。剰余演算子は剰余を返します (長い除算のように) 。剰余が(は よりも厳密な等式ですが、それはまったく別の答えです) の場合、それは で割り切れるため、素数ではありません。このステートメントは、最も内側のループ (つまり、 を超えるループ) を終了するように指示するため、プログラムはインクリメントして続行します。counteri%11 % 32counter % i0=====counteribreakicounter
前の行が のどの値でも壊れていない場合、iはcounter素数です。具体的には、ループ本体の最後でiがインクリメントされ (現在は に等しいcounter)、ステートメントi <= counter-1は false と評価され、ループは終了します。これi === counterで true にconsole.log(counter)なり、コンソールにこの値が表示されます。