对于调试,我希望能够打印消息,并在前面加上行号。不,我不想参与成熟的调试器。
我已经定义了一个全局常量ln="thisline = new Error().lineNumber";
我定义了一个
function println(msg) {
document.write("<br>at " + thisline + ":" + msg);
}
然后在我想调试的行中,我写了一行:
eval(ln);
println("msg");
问题是它thisline
通常不会在打印之前得到更新,所以我得到了一个不变的行号。我打印的唯一行号永远不会超过 3 个。
仅仅是评估太慢了吗?有什么方法可以等到它完成吗?我尝试了超时:
const ln="setTimeout(function() {
thisline = new Error().lineNumber
}, 1000);"
但全局thisline
从未设置。
还是我可以提出的错误数量有一些系统限制?