【问题标题】:Strange behaviour printing arguments from safari dev tools来自 Safari 开发工具的奇怪行为打印参数
【发布时间】:2016-07-19 14:31:32
【问题描述】:

我正在使用 ionic 构建应用程序。 我有这个函数声明:

function calculate(origin, destination, mode, transitOptions, alternatives, onMap) {

  var request = buildRequest(arguments);

  var validationResult = validate(request);
  var deferred = $q.defer();
  .....

在 android 模拟器上使用 chrome 检查器进行调试时,我得到了这个:

在 iphone 模拟器上进行相同的调用并使用 safari 进行调试,结果如下:

当然,代码会中断。有没有人见过这样的东西?

【问题讨论】:

    标签: javascript android ios safari safari-web-inspector


    【解决方案1】:

    我以前从未见过这种情况。看起来arguments 正在与暂停执行的调用帧不同的调用帧上进行评估。根据 arguments[1] 的值,看起来它正在 Web Inspector 实现内部的调用框架中进行评估。

    通常情况下,暂停时在控制台上求值会在当前选定的调用框架范围内求值。但是,在您的第二个屏幕截图中,您省略了 Scope Chain 侧边栏,所以我无法确定当前调用框架是什么。

    包含您正在运行的软件(Safari、iOS 模拟器)的版本号也会有所帮助。您能否在最近的 Safari Technology Preview 版本中重现此问题?

    【讨论】:

    • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
    • 是的,无论如何,请否决由相关软件的开发人员编写的唯一答案。获得答案的好方法!鉴于 OP,我提供了尽可能多的答案,但如果没有进一步的信息,我无法真正知道发生了什么。鉴于 OP 似乎尚未阅读此答案,这可能是我们能得到的最好的答案。
    • 虽然不是我
    • 对不起,我没有回复你。在我无法再次重现“错误”后的第二天,我再次尝试“没有运气”。无论如何感谢您的回答!
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多