我最近加入了大增量/ IDLE wave,並且想要在使用Javascript的同時進行一些小項目,以便更多地學習它並停止像奴隸一樣的教程,並嘗試學習我做,並使用我的舊技能。幾個對象的一個函數
我會說我體面的谷歌的東西,但這次,我投降提出一個問題。無法找到正確的單詞或「語法」谷歌。
這是我的問題:
我有一個對象(?):
var weapon = {
stick: { cost: 50, attack: 1, owned: 0 },
mace: { cost: 250, attack: 5, owned: 0 },
sword: { cost: 1000, attack: 15, owned: 0 },
bow: { cost: 4000, attack: 50, owned: 0 }
};
這就像我的 「升級」。
<button onclick='buyWeapon("stick")' class="btn btn-info btn-block">BUY STICK (COST: <span id="stickCost">x</span>)</button>
或
<button onclick='buyWeapon(stick)' class="btn btn-info btn-block">BUY STICK (COST: <span id="stickCost">x</span>)</button>
這是我 「要」 購買,使用此功能:
function buyWeapon(foo) {
if (gamedata.player.currency >= weapon.foo.cost) {
gamedata.player.currency -= weapon.foo.cost;
weapon.foo.owned++;
weapon.foo.cost *= 1.10;
gamedata.player.attack += weapon.foo.attack;
} else {
window.alert("Not enough cash!");
};
};
當我嘗試這個,我得到這個在JS控制檯:
Uncaught ReferenceError: stick is not defined
這一個沒有「」
Uncaught TypeError: Cannot read property 'cost' of undefined
這一個帶有「」
當我讀到這篇文章時,我實際上已經意識到了答案,因爲我在另一個文章中看到了很多這樣的內容。但是,謝謝你的快速回答。所以現在我要做的下一件事是擺脫大浮動的^^, – kongebra