是否可以在Google Chrome中调试时更改JavaScript变量值?

我正在调试一个javascript应用程序(使用Chrome开发工具),我想改变一些变量值,而逐步的代码。

这是可能吗?

我试过,得到了像:

> modeline
1
> modeline=0
0             <<< seems to work but... 
> modeline
1             <<< ups!!

但我无法找到任何文件,说明什么可以或不能做…

为什么这个答案仍然得到upvote?

Mikaël Mayer’s answer,这不再是一个问题,我的答案是过时的(go()现在返回30后,与控制台)。这是固定在2013年7月,根据bug report链接上面gabrielmaldi’s comment。它警告我,我仍然得到upvote – 让我认为upvoter不理解这个问题或我的答案。

我将原来的答案留在这里的历史原因,但去upvote Mikaël’s answer

诀窍是你不能直接改变局部变量,但你可以修改对象的属性。您还可以修改全局变量的值:

var g_n = 0;
function go()
{
    var n = 0;
    var o = { n: 0 };
    return g_n + n + o.n;  // breakpoint here
}

安慰:

> g_n = 10
  10
> g_n
  10
> n = 10
  10
> n
  0
> o.n = 10
  10
> o.n
  10

在设置断点并在控制台中运行这些调用之后,检查go()的结果,您会发现结果是20,而不是0(但不幸的是不是30)。

http://stackoverflow.com/questions/4603021/is-it-possible-to-change-javascript-variable-values-while-debugging-in-google-ch

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:是否可以在Google Chrome中调试时更改JavaScript变量值?