如何在运行时修改JavaScript代码?

20

在调试 JavaScript 代码时,是否有修改代码的方法?Visual Studio 有“编辑和继续”功能,在 Java 和其他语言中也可以进行类似代码热交换的操作。JavaScript 是否也能实现这种操作,如果可以,该如何实现呢?


1
您可以在 Chrome 调试器中查看 https://dev59.com/WG445IYBdhLWcg3wDV8P 的顶部答案。 - Adam Heath
我做了!它被标记为琐碎的问题并转换为评论了!不确定如何将问题标记为重复 :( - Adam Heath
4个回答

13

Chrome, Safari和一些使用WebKit引擎的浏览器都包含Web Inspector中的一个功能,名为Live Edit。如果您进入Scripts面板并停在断点上(可能即使没有停在断点上 - 我不确定),您可以双击一行并开始编辑该行。您所做的更改将会在脚本上生效。


3
你确定吗?Google Chrome的实时编辑功能已经坏了大约两年时间了! - puchu
3
@puchu:你说得对,似乎现在不起作用了。四年前我发布答案时还可以用... - icktoofay

12

2
好的,我没有看过这个视频,但我知道如何使用控制台来实时执行JavaScript并动态更改函数定义。但这不是我想要的。我希望能够在调试器控制台内编辑脚本,就像我在我最喜欢的JavaScript编辑器中一样。这可能吗? - theninjagreg

4

如果您在进行调试时,非常容易修改正在运行的代码。在调试控制台中,您可以输入Javascript表达式,并在窗口的上下文中运行,该窗口包含您的所有代码对象和函数,因此您可以通过重新定义它们来交换它们。


1
因为JavaScript可以修改DOM,所以你必须改变JavaScript文件,保存并重新加载页面。对我来说,我喜欢IE,所以我在浏览器中运行网页而不是调试模式。然后你可以更改脚本文件,保存它们,切换回浏览器并重新加载(按F5)以查看你的更改。据说IE 11有这个功能(可能像Chrome一样,从我能看到的内容,基本上就是改变、保存、重新加载),但我找不到它,更别说打开一个js文件了。超级糟糕的用户界面。我猜打开文件图标的浏览器是enter image description here,但它总是灰色的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接