第27天:调试
#javascript #100daysofcode #day27

无论您是初学者还是经验丰富的开发人员,都了解如何利用Chrome Devtools进行调试,处理内存泄漏和优化性能可以显着增强您的开发过程。

1.调试JavaScript

调试是每个开发人员的重要技能。 Chrome DevTools提供了一组强大的工具,可以使调试过程更加有效。

  • ð使用控制台: DevTools中的控制台面板可让您与页面上运行的JavaScript代码进行记录,检查和交互。您可以使用console.log()语句将值,对象和调试信息直接打印到控制台。
  • ð设置断点: 断点使您可以在特定行中暂停代码的执行,从而可以在此时检查变量和呼叫堆栈。您可以通过单击源面板中的行号或使用代码中的debugger;语句来设置断点。
  • ð利用调试器: 调试器语句触发内置的JavaScript调试器,暂停代码执行。当您需要潜入执行流并分析变量时,这特别有用。
function calculateTotal(price, tax) {
    debugger;
    const total = price + (price * tax);
    return total;
}
const totalPrice = calculateTotal(100, 0.2);
console.log(totalPrice);

Image description

2.调试内存泄漏

内存泄漏可能会导致应用程序中的性能问题。 Chrome DevTools提供了帮助识别和纠正内存泄漏的工具。

ð内存面板:
内存面板使您能够随着时间的推移拍摄堆的快照并比较内存使用情况。这有助于识别未按预期收集垃圾的对象。

ð堆快照:
您可以拍摄堆快照并分析它们以找到理想地释放的内存耗尽对象。 DevTools甚至突出显示导致内存泄漏的对象。

function createLeak() {
    const element = document.getElementById('leakyButton');
    element.addEventListener('click', function() {
        // Some action
    });
}

查看官方chrome developer Doc了解更多信息

3.调试性能

优化您的JavaScript代码以提高性能至关重要。 DevTools提供了分析性能瓶颈并提高应用程序速度的工具。

±!±thressive面板:
性能面板可帮助您记录和分析应用程序的执行时间表。它确定了诸如长任务,布局重新计算等问题。

ð火焰图:
火焰图在视觉上表示在特定时间段内花费在不同任务上的时间。这有助于准确指出您的代码可能导致性能放缓的位置。

假设您的页面由于过度布局计算而引起缓慢的渲染问题:

function calculateLayout() {
    // Complex layout calculation
}
// Trigger layout calculation on button click
document.getElementById('layoutButton').addEventListener('click', calculateLayout);

查看官方chrome developer文档以获取更多信息