来自safari开发工具的奇怪行为打印参数

时间:2016-03-31 08:41:19

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

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

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

  var request = buildRequest(arguments);

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

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

correct

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

very strange?

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

1 个答案:

答案 0 :(得分:0)

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

通常,在暂停时在控制台上进行评估将评估当前所选调用框架范围内的表达式。但是,在你的第二个截图中你省略了Scope Chain侧边栏,所以我无法确定当前的调用框架是什么。

它还有助于包含您正在运行的软件的版本号(Safari,iOS模拟器)。您是否能够在最近的Safari Technology Preview版本中重现此问题?