2

在 WebStorm (2016.1) 中调试时,调试器在console.log(arguments). 这是一个例子:

function breakDebug() {
    console.log(arguments);
}

breakDebug();

console.log("still kickin'");  // WS will not stop on breakpoint here

这可以通过在调用方转换arguments为某种不会阻塞调试器(array或其他)的类型来解决,如下所示:object

function digestible(args) {
    return Array.prototype.slice.call(args);
}

function breakDebug() {
    console.log(digestible(arguments)); // this is cumbersome
}

breakDebug();

console.log("still kickin'"); // this time debugger stops
                              // on breakpoint here

不是将参数显式转换为数组,而是可以对console对象执行一些安全的伏都教,使第一个片段不会破坏调试器?所谓安全,我的意思是遵守像我这样的 JS n00b 所不知道的所有最佳实践。

作为一个附带问题,我应该向 JetBrains 报告这个问题吗?

4

0 回答 0