【问题标题】:watch function expression affect debug in Chrome devtoolwatch 函数表达式影响 Chrome devtool 中的调试
【发布时间】:2021-06-25 18:46:11
【问题描述】:

来自 Chrome 开发工具示例 https://googlechrome.github.io/devtools-samples/debug-js/get-started

inputsAreEmpty函数的第一行添加断点,inputsAreEmpty()进入Watch,inputsAreEmpty()在watch中会调用。

如果将日志插入inputsAreEmpty函数,日志会打印更多次,为什么会这样?

【问题讨论】:

  • 你的意思是你有inputsAreEmpty() 作为Watch 表达式?

标签: javascript google-chrome-devtools


【解决方案1】:

如果您的意思是您将 inputsAreEmpty() 作为 Watch 表达式,则该表达式将在 Watch 需要更新其显示的任何时候进行评估(调用 inputsAreEmpty)。如果您在inputsAreEmpty 中设置断点,Watch 需要在到达断点时更新其显示——这意味着调用inputsAreEmpty,它将到达断点,依此类推,依此类推。

一般来说,最好不要在 Watch 表达式中调用函数(虽然也有例外)。但是你绝对需要避免在你有断点的 Watch 表达式中调用函数,因为它会造成上面的恶性循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2017-10-02
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    相关资源
    最近更新 更多