javascript - 更改 javascript 属性给出修改规则

标签 javascript algorithm class

我的类结构如下:

class Player {
    constructor(id) { 
       this.limits.playaces = 1;
       this.actions.playaces = 0;
    }
}

我想应用一个修改函数,让它看起来像这样

var player = new Player();
player.modifyAction("playaces","++"); //increments playaces from actions
player.modifyAction("playaces","--"); //decrements playaces from actions
player.modifyAction("playaces","+4"); //adds 4 to playaces from actions
player.modifyAction("playaces","-1"); //subtract 1 from playaces from actions

我想避免制作 map ,所以我认为 eval() 是最好的行动方案,但我想知道我是否可以使用词法分析器/解析器而不是使用 eval 并转移到新的对象范例,保持类定义尽可能短。

可以吗?

最佳答案

你在找这样的东西吗?

class Player {
    constructor(id) { 
        this.id = id 
        this.playaces = 1;
    }
    incrementPlayaces() {
        this.playaces++
        console.log(this.playaces)
    }
    decrementPlayaces() {
        this.playaces--
        console.log(this.playaces)
    }
    addPlayaces(val) {
        this.playaces += val
        console.log(this.playaces)
    }
}

let player = new Player('id');

player.incrementPlayaces()
player.decrementPlayaces()
player.addPlayaces(-4)
player.addPlayaces(+5)

关于javascript - 更改 javascript 属性给出修改规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51223884/

相关文章:

algorithm - 如何为每个元组计算数组中严格更大的元组的数量?

java - 采访 : How to traverse tree meeting two requirements below

c# - 是否有一种正确的方法来菊花链式连接类并以正确的方式调用它?

php - 在 php 类中返回多个 mysql 结果

Javascript 滚动不会停止

javascript - React DropzoneComponent 在上传之前在本地打开/修改文件

javascript - 在我页面的特定部分调用 <link rel =“stylesheet” href =“” > 而不覆盖我当前的 CSS 样式

python - 时间复杂度 : deleting element of deque

Java错误: cannot find symbol even if the .类文件都在同一目录中

javascript - 如何永久更改 HTML 文件上的 DOM