什么是Javascript事件侦听器';什么范围?
在C语言中,如果我不动态地malloc函数中的任何内容,那么当函数结束时它是自由的。我不知道Javascript(特别是事件侦听器)在这种意义上是如何工作的。问题是,如果在函数中声明了事件侦听器,那么它是在函数结束时被终止还是继续侦听什么是Javascript事件侦听器';什么范围?,javascript,Javascript,在C语言中,如果我不动态地malloc函数中的任何内容,那么当函数结束时它是自由的。我不知道Javascript(特别是事件侦听器)在这种意义上是如何工作的。问题是,如果在函数中声明了事件侦听器,那么它是在函数结束时被终止还是继续侦听 上下文 我有一个对象page{},它有一个方法battle() 在一个页面中选择\u action()方法,我调用battle() 当battle()结束时,将再次调用choose\u action Battle()。当按下id为“attack”的img时,调用
上下文 我有一个对象
page{}
,它有一个方法battle()
在一个页面中选择\u action()
方法,我调用battle()
当battle()
结束时,将再次调用choose\u action
Battle()。当按下id为“attack”的img时,调用attack()
(也是page{}
方法)函数
我的观点是,事件侦听器是在battle()
中创建的吗?或者当battle()
结束时他们被释放了?我担心再次调用battle()会创建双倍的攻击\u事件\u侦听器
,每次单击都会导致攻击(n)次,n是调用battle()
的次数 请不要只解释你的代码,展示它@蒂姆,我根本没有密码。这就是我计划做的代码,我想知道这是否有效,然后再尝试,我会花4个多小时来正确实现所有这些。如果你尝试过,你已经知道了…你可以在战斗结束时使用removeEventListener
(),这应该解决你的问题。请不要只解释你的代码,展示它@蒂姆,我根本没有密码。这就是我计划做的代码,我想知道这是否有效,然后再尝试,我会花4个多小时来正确实现所有这一切。你已经知道,如果你尝试过……你可以在战斗结束时使用removeEventListener
(),这应该可以解决你的问题。