Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将参数从一个方法传递到另一个方法不需要';似乎无法更改打字脚本中的图形_Javascript_Typescript_Arguments_Parameter Passing_This - Fatal编程技术网

Javascript 将参数从一个方法传递到另一个方法不需要';似乎无法更改打字脚本中的图形

Javascript 将参数从一个方法传递到另一个方法不需要';似乎无法更改打字脚本中的图形,javascript,typescript,arguments,parameter-passing,this,Javascript,Typescript,Arguments,Parameter Passing,This,我正在用typeScript制作纸牌游戏。 这个游戏做了这样的事情: game = () => { let get_start_card = () => { let card:string // get random card ... return card } let start_round = (player:Player,card:string) => { console.log(`card at start is: ${card}`) // some

我正在用
typeScript
制作纸牌游戏。 这个游戏做了这样的事情:

game = () => {
let get_start_card = () => {
  let card:string
  // get random card ...
  return card
}
let start_round = (player:Player,card:string) => {
  console.log(`card at start is: ${card}`)
  // some logic ...
  // change the card - generate new_card
  this.start_card = new_card
}
let game_status: boolean = true
let start_card = get_start_card()

while(game_status === true){
  start_round(player1,start_card)
  start_round(player2,start_card)
}
}
game()
这个想法是当下一个回合开始时,下一个玩家开始使用另一个玩家在回合结束时留下的牌

问题是
start\u round
方法总是从原始卡开始,并且在我编写
this.start\u card
this.this.start\u card
或其他任何内容时似乎没有改变

有人知道怎么做吗

我尝试在下一轮之前使用关键字“
this
”更改
start\u卡的值的方式是错误的

面向对象的正确方法是什么

编辑:删除“此”会导致错误,无法识别“启动卡”


谢谢

应该没有这个

start_card = new_card

面向对象的方法是使用一个类,然后您将大量使用
this
。您已经创建了一个闭包,并且
start\u card
是一个正则变量,不是任何东西的属性。

它应该没有
this

start_card = new_card

面向对象的方法是使用一个类,然后您将大量使用
this
。您已经做了一个闭包,并且
start\u card
是一个正则变量,不是任何东西的属性。

谢谢您的回答,但是当我删除“this”VSCode时会显示一个错误:找不到name“start\u card”谢谢您的回答,但是当我删除“this”VSCode时会显示一个错误:找不到name“start\u card”