如何在JavaScript中删除类对象的引用?

萨曼·阿迪卡里
document.addEventListener("DOMContentLoaded", () => {
  document.querySelector('start'),addEventListener('click', () =>{
    var car = new Car('Audi');
    document.addEventListener('keyup', e=>{
      car.printName();
    })
  })
})

class Car{
  constructor(name){
    this.name = name
  }

  printName(){
    console.log(this.name)
  }
}

我正在尝试使用JavaScript OOP创建一个简单的游戏。在DOM加载并且玩家点击“开始”按钮之后,通过传递对象的name属性来创建一个新的Car对象。为简单起见,该类中目前唯一的方法是打印的'printName'。

问题是,即使我每次创建一个新的对象,只要玩家按下开始按钮,游戏就应该重置,先前的对象都会保留在内存中。

注意,在上面的代码中,每当玩家两次按下“开始”按钮并按下任意键时,都会为新对象和旧对象调用“ printName”方法。我该如何解决这个问题?

扎克伯格

您可以通过在keyup事件外部添加事件来解决此问题click,以便click事件停止向keyup堆栈中添加多个事件侦听器,例如:

document.addEventListener("DOMContentLoaded", () => {
  var car;
  document.querySelector('start'), addEventListener('click', () => {
    car = new Car('Audi');
  })

  var handleKeyup = () => car && car.printName();
  document.addEventListener('keyup', handleKeyup, false)
})

class Car {
  constructor(name) {
    this.name = name
  }
  printName() {
    console.log(this.name)
  }
}
<button class="start">Start</button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从 JavaScript 中的对象中删除引用

如何在 javascript 中由类创建的对象和扩展类之间进行引用?

如何在JavaScript中添加/删除类?

从对象 javascript 中删除引用

如何在 JavaScript 中的嵌套对象中引用对象属性

如何从JavaScript中的对象中删除所有循环引用?

如何在类方法中获取当前对象引用?

如何在泛型类中引用伴随对象的方法?

如何在提供的类方法中引用 Context 对象?

如何在其他函数中引用类对象?

javascript对象-如何在类函数中调用类变量

对象引用如何在javascript中内部工作

如何在Javascript对象中引用JSON设置为键

如何在javascript中创建json对象的副本,而不是引用

如何在 Javascript 中从 JSON 文件中删除对象

如何在JavaScript中删除对象中的多个键

如何在 JavaScript 中添加/删除鼠标悬停类?

如何从数组中删除未引用的对象

如何在Javascript中确定对象是类还是函数

如何在javascript中访问函数内部的类/对象?

如何在Javascript中初始化类对象

如何在Javascript类中通过Ajax发送对象?

如何在 JavaScript 中删除嵌套的空对象?

如何在Python中通过LXML引用父对象并删除RSS XML中的父元素?

如何引用类对象?

如何在MongoDB MapReduce JavaScript查询中的对象数组中引用对象的每个属性?

如何在Java中存储对类的引用?

如何在枚举中存储类引用?

如何在PowerShell中引用UWP类