我不确定你知道多少 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)
在控制台中显示这个值。