You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS创建私有变量secret无法返回预期值,请问代码问题出在哪里?

问题原因

你代码的核心问题是没有执行返回的闭包函数:secretCode调用后返回的是一个箭头函数,你直接把这个函数赋值给getSecret后打印,输出的只会是函数本身,不会拿到secret的值。

修复方法

把最后一行打印语句修改为执行getSecret函数即可:

console.log(getSecret());

修改后即可输出你预期的This is the secret !!!。

补充说明

  • 你用闭包实现私有变量的思路本身是正确的:secret是secretCode的局部变量,外部作用域无法直接访问,只有返回的闭包函数持有对secret的引用,符合私有变量的设计要求。
  • 你注释掉的console.log(secret)预期输出undefined是符合逻辑的,严格模式下该行代码运行会直接抛出ReferenceError,因为全局作用域下不存在secret变量。

内容的提问来源于stack exchange,提问作者user12979978

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 16:12:04