在JavaScript中,要获取当前执行的代码行号,可以使用Error
对象的stack
属性。以下是一个示例代码,展示如何获取当前行号:
function getLineNumber() {
const error = new Error();
const stack = error.stack.split("
");
// 通常,堆栈跟踪的第一行是 'Error',第二行是调用getLineNumber的行信息
const lineInfo = stack[2]; // 获取调用getLineNumber的行信息
const lineNumber = lineInfo.split(":")[1]; // 从行信息中提取行号
return lineNumber;
}
console.log("当前行号是:", getLineNumber());
new Error()
创建一个新的错误对象,但不抛出该错误。error.stack
属性包含了错误的堆栈跟踪信息,其中包括了错误发生时的调用栈。split(" ")
将堆栈跟踪信息按行分割成一个数组。Error
,第二行是getLineNumber
函数的调用信息,第三行是实际调用getLineNumber
的代码行信息。通过这种方式,你可以在JavaScript中获取当前执行的代码行号,从而更好地进行调试和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云