如何通过浏览器控制台无法更改变量

时间:2015-04-13 16:44:36

标签: javascript variables console

我正在编写一个应该回答问题的程序。 正确答案的数量由一个名为

的变量保存
correctAnswers

但是现在的情况是,我可以改变

的值
correctAnswers
只需输入

即可
correctAnswers = (new Value)

在控制台中。我不希望这是可能的,有没有办法可以通过控制台禁用改变变量值的可能性?

2 个答案:

答案 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;