如何获取调用函数的行号?

时间:2014-02-15 22:35:54

标签: javascript

function eatSoup () {
    // Need line number of where I was called from. [in this case, line 6]
    var lineNumber = answerToThisQuestion();
}

function cookSoup () {
    eatSoup();
}

如果您需要更多说明,请询问。

3 个答案:

答案 0 :(得分:2)

您可以使用console.trace();来获得完整的堆栈跟踪。

答案 1 :(得分:2)

function cookSoup () {
    debugger;
    eatSoup();
}

这将触发调试器,您可以从那里看到行号。

答案 2 :(得分:0)

它不符合标准,并且有点损坏到一行,但是......

var calledFromLineNumber = +((new Error).stack.split('\n')[2].split(':')[1]);