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”