2017-07-25 70 views
1

在這裏開始。如何更改對象內的參數?

var player() = { 
isDrunk: false 
} 

如何在玩家使用物品「啤酒」後將isDrunk設置爲true? (完全虛構的例子)

+1

你可以閱讀關於此JavaScript對象基礎知識:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basics – yuriy636

回答

1

你問它之前,因爲對JavaScript對象的文檔是無處不在,你應該Google提問...但是...

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功能。或者你可以把功能的播放器對象中,如果你想每一個玩家有一個drinkBeer()功能,他們可以使用通過調用player.drinkBeer()

改變自己isDrunk屬性,它應該是這樣的:

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

可以使用開關或if語句,你選擇的任何設置isDrunk的價值無論是。但在此之前,請看看創建對象的語法或方法。

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

但文件說, IE不支持class關鍵字。它值得使用嗎? – Prabhakaran

+1

@Prabhakaran正如我在答覆中提到,此語法不廣泛支持舊版瀏覽器。然而,預編譯/ transpiling JavaScript是一種很常見的/有益的做法,這將允許使用較新的語法(代碼維護,糖)不失ES5的兼容性。我建議學習較新的語法儘可能,因爲想法是,語言改善和現代瀏覽器都在努力支持這些更新。完全公平的問題,雖然 – veratti

+0

感謝您的解釋 – Prabhakaran