Chrome DevTools代码片段中JavaScript变量不更新问题求助
问题分析与解决
核心问题不是Chrome开发者工具的设置,而是你每次运行代码时,都会重新执行变量声明语句:
var output = []; var count = 1;这意味着每次运行代码,
output都会被重置为空数组,count也会被重置为1,所以每次调用fizzBuzz()只会往新的空数组里添加1,看起来像是值没加入数组且count重置。正确的测试方式:
- 先单独执行变量声明部分(
var output = []; var count = 1;),只执行一次; - 之后每次只执行
fizzBuzz();函数调用,这样output和count会保留之前的值,实现累加效果。
- 先单独执行变量声明部分(
你也可以把代码拆成两部分来执行:
- 初始化代码(仅运行一次):
var output = []; var count = 1; function fizzBuzz() { output.push(count); count++; console.log(output); }- 重复调用函数(每次运行这行):
fizzBuzz();这样每次调用
fizzBuzz()时,output和count都会保留上一次的状态,数组会持续累加值。
内容的提问来源于stack exchange,提问作者miacarreira
相关产品推荐
相关产品推荐

