问题描述
我正在学习 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
}