首页 > 开发 > JS > 正文

写了一个js游戏,里面的变量涉及到速度等隐私数据,怎样写js可以保证不被开发者恶意修改?

2017-09-05 05:51:26  来源:网友分享

写了一个js游戏,里面的变量涉及到速度等隐私数据,怎样写js可以保证不被开发者恶意修改?

解决方案

你在构建函数里写的变量如果不设在this上,就无法在外面修改,如下:

class Vehicle {    constructor(type) {        this.type = type;                // private属性        let speed = 10;        this.getSpeed = () => speed;    }}const vehicle = new Vehicle('Test');vehicle.type = 'Hello' //=> 没问题vehicle.speed = 15; //=> 不会改构建函数里的`speed`vehicle.getSpeed(); //=> 10

设在this的属性都是public的,构建函数里的let, varconst都无法在外面修改。