我不确定你知道多少 JavaScript,所以其中一些可能是非常基础的。
首先,请记住质数是其唯一因数为 1 和自身的数。
所以第一行说它从 0 循环到 100,counter作为变量保存这个数字。
下一行for (var i = 2; i <= counter-1; i++)从 2 循环到counter-1(注意它不包括 1 和counter)并用于i保存这个数字。
接下来,if (counter%i === 0) break;测试是否counter可被 整除i:余数运算符%返回余数(如长除法),例如11 % 3将返回2因为 11 除以 3 得到 3 余数 2;如果余数counter % i是0(===是比 更严格的等式==,但这完全是一个不同的答案) 这意味着它counter可以被整除i,因此不是素数。该break语句告诉它退出最内层循环(即,循环结束i),因此程序递增counter并继续。
如果前一行没有因为 的任何值而中断i,counter则为素数——具体而言,在循环体的末尾,i递增(现在等于counter),语句的i <= counter-1计算结果为 false,循环结束。所以现在i === counter是真的,所以console.log(counter)在控制台中显示这个值。