gpt4 book ai didi

javascript - 从一个方法传递参数到另一个方法似乎不会改变 typescript 中的参数

转载 作者:行者123 更新时间:2023-11-28 17:32:15 25 4
gpt4 key购买 nike

我正在使用 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()

这个想法是,当下一个回合开始时,下一个玩家从另一个玩家在回合结束时留下的牌开始。

问题是,当我写 this.start_cardthis 时,start_round 方法总是从原始卡开始,并且似乎没有改变.this.start_card 或其他任何内容。

有人知道如何做到这一点吗?

我在下一轮之前尝试使用关键字“this”更改start_card的值的方式是错误的吗?

从 OOP Angular 来看,做这样的事情的正确方法是什么?

编辑:删除“this”会导致错误,无法识别“start_card”。

谢谢

最佳答案

应该没有this

start_card = new_card

OOP 方式是使用一个类,那么你会经常使用this。相反,您创建了一个闭包,并且 start_card 是一个常规变量,而不是任何东西的属性。

关于javascript - 从一个方法传递参数到另一个方法似乎不会改变 typescript 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com