JavaScript中一个函数如何获取另一函数操作后的变量值?
问题相关代码
let count = 0; function increment(){ count += 1; console.log(count); } function decrement(){ count -= 1; console.log(count); } increment(); decrement();
原理说明
decrement 并没有从 increment 函数中获取count的取值,两者操作的是同一个全局作用域下的count变量:
- 你在所有函数外部声明的
let count = 0属于全局作用域变量,当前脚本内的所有函数都可以直接读取、修改这个变量的值。 - 调用
increment()时,函数直接修改了全局count的值,将其从0更新为1。 - 后续调用
decrement()时,函数读取的是全局count当前存储的1,执行减1操作得到0后,又把结果更新回全局count变量。
你可以在脚本末尾新增console.log(count)测试,最终输出的结果也会是0,和两个函数内部打印的最终值一致,足以证明三者操作的是同一个变量。
内容的提问来源于stack exchange,提问作者mdrakibgayen
相关产品推荐
相关产品推荐

