javascript - 在闭包中修改变量

标签 javascript closures

我在这个问题上的重点是制作 HTML5 游戏。目的是帮助减少/防止作弊。

如果全局范围内的变量保存分数,例如 var score = 0,那么只需运行 javascript:void(score = 9999999999); 就很容易作弊了;.

但如果我有更多这样的东西:

(function() {
    var score = 0;
    // game logic here
})();

score 是否可以被闭包之外的任何东西访问?玩家有没有办法修改它从而伪造他们的积分?

最佳答案

在客户端发生的一切都是“可破解的”,因为您根本无法控制它。防止这种情况的唯一真正方法是使用服务器端验证(例如 AJAX 调用)。

Is score accessible by anything outside the closure?

不,不是。

Is there any way for the player to modify it and thus falsify their points?

是的。请参阅我的第一个陈述。

关于javascript - 在闭包中修改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028665/

相关文章:

javascript - 带有 [Object 对象] 的文本区域

javascript - 鼠标悬停后自动播放视频不起作用

javascript - 为什么自定义渲染器不能按预期工作并导致奇怪的表格单元格行为?

python-3.x - 如何在 Python 闭包中捕获值

swift - 闭包如何存储对常量或值的引用

javascript - Kendo Grid - 不允许编辑某些记录

javascript - 如何使用 Javascript 将图像副本(位于 URL)保存到 Firebase Storage(网络)?

javascript - 将局部变量作为父函数内部函数的参数传递

ios - 如何在 swift 中创建具有特定类型别名的闭包?

python - Python 闭包是 `__all__` 的良好替代品吗?