【发布时间】:2015-05-31 19:43:31
【问题描述】:
我正在尝试压缩我的代码,并且我查看了许多关于连接变量的文章,但我无法让任何东西按照我需要的方式工作。
下面是两个sn-ps的代码。它们在功能上是相同的,除了第一个 sn-p 的变量在其名称中使用“Str”,而第二个 sn-p 使用“Dex”代替。我计划用“Int”和“Ht”创建类似的代码,但我不想复制/粘贴然后回去一遍又一遍地更改我的代码中的“Str、Dex、Int、Ht”名称。
是否可以将'Str,Dex,Int,Ht'放入变量[var1](根据按下的按钮),然后使用[var1]代替'Str,Dex,Int,Ht'这样代码只需要编写一次?
//Define Stength Increase Function
var strIncrease = function () {
//Increase playerStrength by 1
playerStr = playerStr + 1;
playerStrDisplay.innerHTML = playerStr;
//Increase strengthCP by 10
strCP = strCP + strCost;
strCPDisplay.innerHTML = strCP;
//Decrease totalCP by 10
totalCP = totalCP - strCost;
totalCPDisplay.innerHTML = totalCP;
}
//Define Dexterity Increase Function
var dexIncrease = function () {
//Increase playerDexterity by 1
playerDex = playerDex + 1;
playerDexDisplay.innerHTML = playerDex;
//Increase DexterityCP by 20
dexCP = dexCP + dexCost;
dexCPDisplay.innerHTML = dexCP;
//Decrease totalCP by 20
totalCP = totalCP - dexCost;
totalCPDisplay.innerHTML = totalCP;
}
【问题讨论】:
-
是的:通过一些重构,您应该能够利用对象上的属性可以通过字符串寻址的事实。
var o = {}; o.foo = 'foo'; console.log(o['foo']); /* foo */ } -
你应该学习Object-oriented programming,特别是如果你正在制作游戏。
标签: javascript variables concatenation