【问题标题】:Can I manually modify a variable of a JavaScript object at runtime? [duplicate]我可以在运行时手动修改 JavaScript 对象的变量吗? [复制]
【发布时间】:2015-06-25 01:06:49
【问题描述】:

这是一个愚蠢的问题,但我正在开发一个 AngularJS 应用程序(一个简单的学校项目),并且想知道一旦 JavaScript 对象在 Chrome 的开发者工具中运行,是否有办法修改它。基本上,我有一个角色和一个怪物,我想在战斗中编辑它们的强度以加快我的调试过程(避免在源代码中设置值然后刷新页面)。

我的猜测是没有办法做到这一点,因为它可能会成为一些“安全问题”,但我只是不确定。


编辑:这是answer。我只是不知道如何搜索它。 :)

【问题讨论】:

  • 要使用 AngularJS 进行编辑,请在代码中添加一行 debugger;,然后您可以检查(悬停在)一个对象,观察所有属性,它会暂停您的浏览器的 JS 执行,直到您单步执行/进入或继续。

标签: javascript google-chrome-devtools


【解决方案1】:
  1. 按 F12
  2. 转到console 标签
  3. 开始执行任何 javascript。

character.strength = 12 或只要character 在全球范围内都可以使用。

【讨论】:

  • k,也许我应该编辑我的问题。你知道如何找到 AngularJS $scope 变量吗?
  • 我一问就发现了。 :) 谢谢。
【解决方案2】:

大量的帮助来自this answer。我只是不知道如何搜索它。 :)

控制台是我的朋友...

  1. 按 F12
  2. 转到控制台选项卡
  3. 开始执行任何javascript:

要获得有棱角的东西,我需要:

  1. 进入控制器
  2. 抓住范围,
  3. 然后是对象
  4. 那么值...

所以这很完美!

angular.element('[ng-controller=BattleCtrl]').scope().monster.currentHealth = 25

感谢您的指导。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多