use*_*079 0 javascript variables
有人看到我的代码中的一个错误,阻止变量"player1Bananas"改变?功能中的其他所有功能都可以正常工作
//update playerStats arguments:
//banana is a banana object
//x and y are the banana's position
//players bananas is player1Bananas or player2Bananas,
//ballPosition is "left" or "right"
updatePlayerStats: function(banana, x, y, playersBananas, ballPosition) {
playersBananas += 1;
gameController.bananasTaken += 1;
banana.x = x;
banana.y = y;
gameController.player1Score = 0;
gameController.player2Score = 0;
gameController.setUpPaddles();
gameController.setUpBall(ballPosition);
},
gameController.updatePlayerStats( gameController.Banana1, 20, gameController.canvas.height - 20 - gameController.Banana1.height,
gameController.player1Bananas, "left");
Run Code Online (Sandbox Code Playgroud)
谢谢!
你传递的价值的gameController.player1bananas作为参数的函数.
在函数中,该值分配给局部变量playersBananas并受范围限制.当您对其进行更改时,您不再对最初传递的变量进行更改,而是更改新变量playersBananas.
要解决此问题,您需要将其作为对象传递.JavaScript不会将其作为值传递,而是将对象本身传递给它.
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |