与这里的其他问题类似,like this one .
有没有办法在任何 JavaScript 调试器中中断变量值的更改? (例如 IE Developer 工具、Visual Studio 或 Firebug)?
我猜它类似于“监视变量”,但我希望能够看到调用堆栈并在变量实际发生更改时暂停它。
另一种方法可能是使用自定义 setter 覆盖值设置,并在其中放置一个断点,但不幸的是,这不适用于 IE AFAIK。
更新 看来这种行为至少适用于非托管代码 written in C++所以我想也许用 C++(谷歌的 V8)编写的 javascript 引擎可能有类似的东西,但它似乎也没有我想要的东西。
最佳答案
您甚至不需要 IDE - 您可以使用“Object.watch()”:
如果您使用任何一种调试器,我强烈推荐 Firebug。满足您所有的 Javascript、HTML 和 CSS 需求:-):
http://getfirebug.com/javascript
============================================= ============
2019 年更新:
Object.Watch是古代史。巧合的是,它在大多数现代浏览器中都不可用。
最近我个人最喜欢的 JS 调试工具是 Chrome Developer Tools .
我个人最喜欢的 JS IDE(用于 Angular、.Net Core 等)是 Microsoft Visual Studio Code (MSVC)。
您几乎可以使用 Chrome 调试器执行任何“预期的”调试操作,包括设置监视(就像使用 FF Firebug 一样)。
Chrome 调试器与 MSVC IDE 完美集成。
两者都是“免费”的(至少“像啤酒一样免费”);在 Windows、Mac 和 Linux 上都运行良好。
关于javascript - 打破变量值的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7910623/