观察函数表达式影响 Chrome devtool 中的调试
watch function expression affect debug in Chrome devtool
来自 Chrome Devtool 示例 https://googlechrome.github.io/devtools-samples/debug-js/get-started
在 inputsAreEmpty
函数的第一行添加断点时,inputsAreEmpty()
进入 Watch,inputsAreEmpty()
in watch 将调用。
如果将日志插入inputsAreEmpty
函数,日志会打印更多次,为什么会这样?
如果您的意思是您将 inputsAreEmpty()
作为 Watch 表达式,则只要 Watch 需要更新其显示,该表达式就会被计算(调用 inputsAreEmpty
)。如果你在 inputsAreEmpty
中放置一个断点,当它遇到断点时,Watch 需要更新它的显示——这意味着调用 inputsAreEmpty
,它将遇到断点,等等,等等,等等.
一般来说,最好不要在 Watch 表达式中进行函数调用(尽管也有例外)。但是你绝对需要避免在你有断点的 Watch 表达式中进行函数调用,因为它会造成上面的恶性循环。
来自 Chrome Devtool 示例 https://googlechrome.github.io/devtools-samples/debug-js/get-started
在 inputsAreEmpty
函数的第一行添加断点时,inputsAreEmpty()
进入 Watch,inputsAreEmpty()
in watch 将调用。
如果将日志插入inputsAreEmpty
函数,日志会打印更多次,为什么会这样?
如果您的意思是您将 inputsAreEmpty()
作为 Watch 表达式,则只要 Watch 需要更新其显示,该表达式就会被计算(调用 inputsAreEmpty
)。如果你在 inputsAreEmpty
中放置一个断点,当它遇到断点时,Watch 需要更新它的显示——这意味着调用 inputsAreEmpty
,它将遇到断点,等等,等等,等等.
一般来说,最好不要在 Watch 表达式中进行函数调用(尽管也有例外)。但是你绝对需要避免在你有断点的 Watch 表达式中进行函数调用,因为它会造成上面的恶性循环。