Javascript Dom性能

Javascript Dom性能,javascript,performance,dom,event-delegation,Javascript,Performance,Dom,Event Delegation,我正在构建一个待办应用程序,这是一个积垢密集型应用程序。用户任务的HTML与此类似 <ul class="tasks-wrapper"> <li class="task-item" data-id=1>Task_1</li> <li class="task-item" data-id=2>Task_2</li> </ul> 上面的代码运行良好,但我无法确定

我正在构建一个待办应用程序,这是一个积垢密集型应用程序。用户任务的HTML与此类似

<ul class="tasks-wrapper">
  <li class="task-item" data-id=1>Task_1</li>
  <li class="task-item" data-id=2>Task_2</li>
</ul>
上面的代码运行良好,但我无法确定它是否对性能友好。我的问题是什么时候执行循环?它是在每次dom触发页面上的事件时执行,还是仅在dom触发任务包装器上的事件时执行

目前,我已经在任务包装器元素上使用事件委托更改了实现,这提供了更好的性能,但是,我仍然想了解以前解决方案的性能,以及是否有人想到了更好的性能友好实现

tasks = document.querySelector('ul.tasks-wrapper');
tasks .addEventListener('click', respondToTheClick);
function respondToTheClick (event){
  If (event.target && event.target.match('li.task-item')){
   // callfunction to update content of selected task using its id which you can get using
  event.target.id
  }
}

我的问题是什么时候执行循环?这取决于您在我的JS文件中全局放置代码的位置。我相信当JS代码第一次运行时,n(li项数)事件处理程序将存储在执行调用堆栈中等待触发,但我不确定。chrome开发工具的性能特性可能会在这方面有所帮助。这个视频有助于回答这个问题吗?你需要比全球更具体。请在更大的方案中显示代码的位置,以便我们知道它在什么时候执行。我的问题是循环何时执行?这取决于您在我的JS文件中全局放置代码的位置。我相信当JS代码第一次运行时,n(li项数)事件处理程序将存储在执行调用堆栈中等待触发,但我不确定。chrome开发工具的性能特性可能会在这方面有所帮助。这个视频有助于回答这个问题吗?你需要比全球更具体。请在更大的方案中显示代码的位置,以便我们知道它在什么时候执行。
tasks = document.querySelector('ul.tasks-wrapper');
tasks .addEventListener('click', respondToTheClick);
function respondToTheClick (event){
  If (event.target && event.target.match('li.task-item')){
   // callfunction to update content of selected task using its id which you can get using
  event.target.id
  }
}