2017-07-25 1 views
1

ここに来てください。オブジェクト内のパラメータを変更するにはどうすればよいですか?

var player() = { 
isDrunk: false 
} 

プレーヤーがアイテム「Beer」を使用した後にisDrunkをtrueに設定するにはどうすればよいですか? JavaScriptオブジェクトのドキュメントはどこにでもあるので、あなたはそれを尋ねる前に、あなたはあなたの質問をグーグルすべき

+1

あなたがここにJavaScriptオブジェクトの基本についての読むことができます:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basicsはなく、ドキュメントはと言う – yuriy636

答えて

1

(完全に作らアップの例)...しかし...

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

player.myFirstValue = false; 
3

特にあなたがちょうどだろうあなたの質問に答えるためにplayer.isDrunk = true

のようなものですから、

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

のようなものを持っている。そして

ができ
function drinkBeer(player) { 
     player.isDrunk = true; 
} 

その後、必要に応じてプレーヤーをdrinkBeer関数に渡すことができます。

var player = { 
    leftHanded: false, 
    rightHanded: true, 
    isDrunk: false, 
    drinkBeer: function() { 
     isDrunk = true; 
    } 
}; 
0
:あなたがしたい場合は別の方法としては、次のようになり、彼らは

player.drinkBeer()を呼び出すことによって、自分のisDrunkプロパティを変更するために使用することができますdrinkBeer()機能を持っている選手オブジェクトの内部で、個々のプレーヤーの機能を置くことができます

isDrunkの値は、switch文またはif文のいずれかを使用して設定できます。しかし、その前に親切にオブジェクトの構文や方法を見てみましょう。

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

ビールを飲むためのアクションを呼び出すことができるオブジェクトを作成したいようです。以下は、古いブラウザでは広くサポートされていないが、調査に値する新しいクラス構文(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 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

+1

classキーワードはIEではサポートされていません。それは価値がありますか? – Prabhakaran

+1

@Prabhakaran答えで述べたように、この構文は古いブラウザでは広くサポートされていません。しかし、JavaScriptのプリコンパイル/トランスポーティングは、ES5との互換性を失うことなく、より新しい構文(コード管理、砂糖)を使用できるようにする非常に一般的な/有益な方法です。できるだけ新しい構文を学ぶことをお勧めします。その理由は、言語が改善され、最新のブラウザがこれらの更新をサポートするようになっているからです。 – veratti

+0

説明のためにありがとう – Prabhakaran

関連する問題