2016-11-17 60 views
0

如何为三个不同的变量使用相同的函数?如何为三个不同的变量使用相同的函数?

var game = {score:0}, 

scoreDisplay = document.getElementById("score1"); 

function add20() { 
    TweenLite.to(game, 1, {score:"+=20", roundProps:"score", onUpdate:updateHandler, ease:Linear.easeNone}); 
} 

function updateHandler() { 
    scoreDisplay.innerHTML = game.score; 
} 

add20(); 

我试着将它分解到三个独立的功能function add20()function add40()function add60(),但我知道这是不是继DRY方法。任何帮助,将不胜感激!

+1

调用函数中添加这需要在辩论中得分。然后做{分数:得分} – Wboy

回答

7

通作为参数:

function add(n) { 
    TweenLite.to(game, 1, {score:"+=" + n, roundProps:"score", onUpdate:updateHandler, ease:Linear.easeNone}); 
} 
add(20); 
add(40); 
add(60); 
3

传递参数的功能使得它更加动态:

function addScore(score) { 
    TweenLite.to(game, 1, {score:"+="+score, roundProps:"score", onUpdate:updateHandler, ease:Linear.easeNone}); 
} 

addScore(20); 
addScore(40); 
addScore(60); 
+0

道歉,我没有说清楚,但也有三个不同的ID:scoreDisplay = document.getElementById(“score1”); scoreDisplay = document.getElementById(“score2”); scoreDisplay = document.getElementById(“score3”);谢谢)) – jnoweb

+0

我创建了一个小提琴来说明问题。我试图让黑色数字也算在内:https://jsfiddle.net/jnoweb/xrpsshcp/ – jnoweb