【问题标题】:Chrome Developer Console accessing jQuery scope访问 jQuery 范围的 Chrome 开发者控制台
【发布时间】:2014-06-28 22:02:39
【问题描述】:

我很想知道如果使用 Chrome 的开发者工具控制台选项卡,我可以在调用 document ready 时手动访问传递给 jQuery 的函数范围。

例如,如果我有以下 HTML 和 Javascript:

<!DOCTYPE html>
<html>
<head>
<title>Accessing jQuery scope via Developer Console</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    var globalId = "awesomeApp";
    $( document ).ready( function() {
        var id = "myAppId";
        this.id2 = "myAppId2";
    } );

</script>
</head>
<body>
</body>
</html>

如果我在开发者控制台窗口中输入“globalId”,它将输出“awesomeApp”。

如果可以从开发人员控制台窗口手动引用 jQuery 范围,即调用 $(document).ready 时传递给 jQuery 的函数,请有人告诉我。

所以,根据上面的代码,如果我输入:

[theAnswerToMyQuestionScope].id 它将输出“myAppId” 或者 [theAnswerToMyQuestionScope[instance]].id2 它会输出'myAppId2'

非常感谢您提供的帮助。

【问题讨论】:

  • 没有。但是您可以设置观察表达式或设置断点,查看 Sources 选项卡中的范围变量。
  • 在functino中设置断点或添加调试器语句。如您所知,JavaScript 具有函数范围。在 ready 方法中,您正在运行未命名的函数,在此函数之外,您和 Google 开发人员工具无法从中访问变量

标签: javascript jquery google-chrome-devtools


【解决方案1】:

当调试器在断点处停止时,您正在当前范围内工作。

因此,如果您在匿名函数内设置断点,您可以在控制台中键入命令并在当前范围内工作。

即在该断点的控制台中键入[instance]].id2 应输出myAppId2

【讨论】:

  • 嗨 raam86,谢谢你的回复,你的回答是我的解决方案:-)
猜你喜欢
  • 2011-10-07
  • 2012-03-09
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 2018-06-08
相关资源
最近更新 更多