【发布时间】:2021-06-03 16:27:07
【问题描述】:
我在下面有完全相同的代码,除了顶部来自 HeadFirst JS 书,他们将输出声明为空白变量,然后为其分配一个字符串。其次是我乱七八糟地看到代码仍然可以工作,而无需先将输出声明为空白变量。声明输出有什么用;空白 vs 跳过那部分。
const printAndGetHighScore = function (score) {
let highscore = 0;
let output;
for (i = 0; i < scores.length; i++) {
output = `Bubble solution #${i} score: ${scores[i]}`;
console.log(output);
if (scores[i] > highscore){
highscore = scores[i]
}
}
return highscore;
};
const printAndGetHighScore = function (scores) {
let highscore = 0
for (let i = 0; i < scores.length; i++) {
let output = `Bubble Solution #${i} score: ${scores[i]}`
if(scores[i] > highscore){
highscore = scores[i]
}
}
return highscore;
}
console.log(`Bubbles test: ${scores.length}`);
console.log(`Highest bubble score ${printAndGetHighScore(scores)}`)
【问题讨论】:
-
第二个示例中是否应该像第一个示例一样包含
console.log(output);? -
您的第一个循环缺少
let i声明
标签: javascript function variables scope