JS 新手:为什么这个函数在 for 循环中只调用一次?

问题描述

我正在学习 JS 并使用 chrome 开发工具控制台来运行代码。如果下面的代码在 for 循环内,为什么只调用一次 randomNumbe()

function randomNumber(){
    let randomNumber = Math.random() * 10;
    return randomNumber;
}
for(let i=0; i<25; i++){
    randomNumber();
}

现在,如果我更改代码调用 console.log() 中的函数,它确实会对该函数进行 25 次调用

function randomNumber(){
    let randomNumber = Math.random() * 10;
    return randomNumber;
}
for(let i=0; i<25; i++){
    console.log(randomNumber());
    
}

解决方法

除非您在代码中明确添加 console.log() 语句,否则控制台只会显示您的代码在完成运行时计算出的最终值。因此,您只会在控制台中看到一个预期的最终值。如果您在循环内的任何位置添加 console.log() 语句,您将获得循环每次迭代的输出。

因此,您的函数在循环的所有 25 次迭代中都被调用,您只是没有看到它的任何输出,因为它没有生成任何特定的输出。

例如:

function randomNumber(){
    let randomNumber = Math.random() * 10;
    return randomNumber;
}
for(let i=0; i<25; i++){
    let x = randomNumber();
    console.log(x);            // make some visible output in the loop
}