Javascript 如何允许JS脚本使用某些变量

Javascript 如何允许JS脚本使用某些变量,javascript,browser,scope,global,named-scope,Javascript,Browser,Scope,Global,Named Scope,我想做一个游戏,你必须为你的机器人编程AI。我知道您可以使用整张地图window.myGame.data.map从代码中访问变量,并且您可以修改它,例如,删除其他机器人程序。 我怎样才能防止这种情况?是否存在沙箱模式,脚本可以只使用允许对象的方法? 将窗口变量更改为自定义对象是一个好主意吗? 谢谢你的建议。你可以通过闭包在JavaScript中隐藏变量。这里有一个很好的解释如何做到这一点: 在ES6中,您还可以使用,也可以使用闭包来隐藏信息,但它将被抽象

我想做一个游戏,你必须为你的机器人编程AI。我知道您可以使用整张地图
window.myGame.data.map
从代码中访问变量,并且您可以修改它,例如,删除其他机器人程序。 我怎样才能防止这种情况?是否存在沙箱模式,脚本可以只使用允许对象的方法? 将窗口变量更改为自定义对象是一个好主意吗?
谢谢你的建议。

你可以通过闭包在JavaScript中隐藏变量。这里有一个很好的解释如何做到这一点:

在ES6中,您还可以使用,也可以使用闭包来隐藏信息,但它将被抽象