我正在编写一个应该回答问题的程序。 正确答案的数量由一个名为
的变量保存correctAnswers
但是现在的情况是,我可以改变
的值correctAnswers
只需输入即可
correctAnswers = (new Value)
在控制台中。我不希望这是可能的,有没有办法可以通过控制台禁用改变变量值的可能性?
答案 0 :(得分:2)
没有办法阻止某人更改变量值,你只能让它变得更难。首先,将变量置于函数中,以便您无法在函数外部访问它,如下所示:
(function(){}());
您拥有的另一个选项是加密代码,但我不确定它的效果有多大,从未尝试过。无论如何,所有这些选项都变得更难但不是不可能,您总是需要在服务器端确认数据。
TL; DR:你不能在客户端这样做。
答案 1 :(得分:1)
尝试使用闭包。
var Test = (function(){
var correctAnswers=0;
return {
getCorrectAnswers: function(){ return correctAnswers; }
}
})();
// Enter the following in console
correctAnswers = 2;
Test.getCorrectAnswers(); // will always return 0;