You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript技术疑问:为何range函数中需用if(isSimple(i))而非直接调用isSimple(i)

问题解答

先把你的代码用代码块整理如下:

function isSimple(number) {
    for (let i = 2; i < number; i++) {
        if (number % i == 0)
            return false
    }
    return true
}

function range(min, max) {
    for (let i = min;i < max; i++) {
        if(isSimple(i))
        document.write(`${i} <br>`);
    }
}
console.log(range(2, 100));

为什么要写if(isSimple(i))而不是直接写isSimple(i)?

直接写isSimple(i)只会执行质数判断逻辑,得到true或false的结果,但这个结果不会触发任何实际的输出操作——因为你没告诉代码“当判断结果为真时要做什么”。

我们的需求是只输出质数,所以必须用if来判断isSimple(i)的返回值:只有当这个函数返回true(也就是当前的i是质数)时,才执行后面的document.write把数字输出;如果返回false(不是质数),就跳过输出步骤,继续循环下一个数字。

这个写法的工作原理

  1. 循环遍历min到max之间的每一个数字i;
  2. 调用isSimple(i)判断i是否为质数,函数会返回一个布尔值(true/false);
  3. if语句检查这个布尔值:
    • 如果是true,就执行紧跟的document.write(${i}
      ),把质数i输出到页面;
    • 如果是false,就跳过输出代码,直接进入下一次循环。

内容的提问来源于stack exchange,提问作者Vova Panchyshyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:22:36