Javascript 如何更改对象内部的参数?

Javascript 如何更改对象内部的参数?,javascript,javascript-objects,Javascript,Javascript Objects,我是乞丐 var player() = { isDrunk: false } 在玩家使用物品啤酒后,如何将isDrunk设置为true?完全虚构的示例在提问之前,您应该搜索您的问题,因为JavaScript对象的文档无处不在。。。但是 var player = { myFirstValue: true, mySecondValue: false }; player.myFirstValue = false; 你应该在提问之前用谷歌搜索你的问题,因为JavaScript对象的文档无处

我是乞丐

var player() = {
isDrunk: false
}

在玩家使用物品啤酒后,如何将isDrunk设置为true?完全虚构的示例

在提问之前,您应该搜索您的问题,因为JavaScript对象的文档无处不在。。。但是

var player = {
  myFirstValue: true,
  mySecondValue: false
};

player.myFirstValue = false;

你应该在提问之前用谷歌搜索你的问题,因为JavaScript对象的文档无处不在。。。但是

var player = {
  myFirstValue: true,
  mySecondValue: false
};

player.myFirstValue = false;

要具体回答您的问题,您只需执行类似于player.isDrunk=true的操作

所以你可以吃点类似的东西

var player = {
  leftHanded: false,
  rightHanded: true,
  isDrunk: false
 };
然后

  function drinkBeer(player) {
      player.isDrunk = true;
 }
然后,您可以根据需要将播放器传递给drinkBeer功能。或者,如果您希望每个玩家都有一个drinkBeer函数,可以通过调用player.drinkBeer来更改自己的isDrunk属性,则可以将该函数放在player对象中

看起来是这样的:

var player = {
  leftHanded: false,
  rightHanded: true,
  isDrunk: false,
  drinkBeer: function() {
        isDrunk = true;
     }
 };

要具体回答您的问题,您只需执行类似于player.isDrunk=true的操作

所以你可以吃点类似的东西

var player = {
  leftHanded: false,
  rightHanded: true,
  isDrunk: false
 };
然后

  function drinkBeer(player) {
      player.isDrunk = true;
 }
然后,您可以根据需要将播放器传递给drinkBeer功能。或者,如果您希望每个玩家都有一个drinkBeer函数,可以通过调用player.drinkBeer来更改自己的isDrunk属性,则可以将该函数放在player对象中

看起来是这样的:

var player = {
  leftHanded: false,
  rightHanded: true,
  isDrunk: false,
  drinkBeer: function() {
        isDrunk = true;
     }
 };

您可以使用switch或if语句设置isDrunk的值,您可以选择任何选项。但在此之前,请先看看创建对象的语法或方式

  var player = {isDrunk:false, hadBeer:false}
  if (player.hadBeer) {
    player.isDrunk = true;
  } else {
    player.isDrunk = false;
  }

您可以使用switch或if语句设置isDrunk的值,您可以选择任何选项。但在此之前,请先看看创建对象的语法或方式

  var player = {isDrunk:false, hadBeer:false}
  if (player.hadBeer) {
    player.isDrunk = true;
  } else {
    player.isDrunk = false;
  }

看起来您想要创建一个对象,该对象可以调用一个动作来喝啤酒。以下是较新的类语法ES6,它在较旧的浏览器中不受广泛支持,但值得研究

class Player {
    constructor(){
        this.isDrunk = false;
    }

    useBeer(){
        this.isDrunk = true;
    }

    isDrunk(){
        return this.isDrunk;
    }
}

var player = new Player();
player.useBeer();
console.log(player.isDrunk()); // true

看起来您想要创建一个对象,该对象可以调用一个动作来喝啤酒。以下是较新的类语法ES6,它在较旧的浏览器中不受广泛支持,但值得研究

class Player {
    constructor(){
        this.isDrunk = false;
    }

    useBeer(){
        this.isDrunk = true;
    }

    isDrunk(){
        return this.isDrunk;
    }
}

var player = new Player();
player.useBeer();
console.log(player.isDrunk()); // true

您可以在此处阅读有关JavaScript对象基础知识的内容:您可以在此处阅读有关JavaScript对象基础知识的内容:但文档中说IE中不支持class关键字。值得使用吗?@Prabhakaran正如我在回答中提到的,这种语法在较旧的浏览器中不受广泛支持。然而,预编译/传输JavaScript是一种非常常见/有益的做法,它允许使用更新的语法代码维护,而不会丢失ES5兼容性。我建议尽可能多地学习较新的语法,因为我的想法是,语言正在改进,现代浏览器正在努力支持这些更新。@Prabhakaran这是一个完全公平的问题,如果代码预编译不是支持较旧浏览器的要求之上的一个选项,那么这就不是一个合适的解决方案。但同样,有一些奇妙的工具可以打开各种可能性:但文档中说IE中不支持class关键字。值得使用吗?@Prabhakaran正如我在回答中提到的,这种语法在旧浏览器中不受广泛支持。然而,预编译/传输JavaScript是一种非常常见/有益的做法,它允许使用更新的语法代码维护,而不会丢失ES5兼容性。我建议尽可能多地学习较新的语法,因为我的想法是,语言正在改进,现代浏览器正在努力支持这些更新。@Prabhakaran这是一个完全公平的问题,如果代码预编译不是支持较旧浏览器的要求之上的一个选项,那么这就不是一个合适的解决方案。但同样,有一些神奇的工具可以打开各种可能性: