Alex Rivera | Logout

How can I determine the current line number in JavaScript?

Asked 2010-02-26T17:03:01.527
134

Does JavaScript have a mechanism for determining the line number of the currently executing statement (and if so, what is it)?

Edit
Report

1 Answer

5

You can try to parse a source of a function to seek some marks.
Here is a quick example (yes, it's messed a little).

function foo()  
{       
    alert(line(1));
    var a;
    var b;      
    alert(line(2));
}   
foo();

function line(mark)
{
    var token = 'line\\(' + mark + '\\)';       
    var m = line.caller.toString().match(
        new RegExp('(^(?!.*' + token + '))|(' + token + ')', 'gm')) || [];
    var i = 0;
    for (; i < m.length; i++) if (m[i]) break;
    return i + 1;
}
answered 2010-02-26T19:01:30.820

Your Answer