是否可以从浏览器控制台更改JS变量值


is it possible to change JS variable value from browser console?

如果我在main.js的文件中有全局变量a = 5;,并且我将这个变量与AJAX一起发送到PHP,那么是否可以从控制台或以某种方式从外部更改这个变量,并让AJAX发送错误的参数?

这里有一个例子:

var init = {
    id: null,
    setId: function(i){
        this.id = i;
        alert(this.id);
    },
    callAjax: function(){
        alert(this.id);
    }
};

如果我有这个,还有可能改变吗?

如果它可以从控制台访问(因为您声明它是一个全局变量),则可以从控制台修改它,只需编写a=1或任何东西。

如果此变量是全局变量,则它是可能的。

为了防止它,您必须使用闭包

是的,您可以打开浏览器的控制台(对于Chrome:PC上的Ctrl+Shift+I,Mac上的Command+Shift)并切换到"控制台"选项卡。然后通过设置a=<whatever you want>编辑全局变量。

因为它在全局范围内,所以您可以在AJAX请求之前更改它。