If you would like to know the line number for debugging purposes, or only during development (For a reason or another), you could use Firebug (a Firefox extension) and throw an exception.
Edit:
If you really need to do that in production for some reason, you can pre-process your javascript files in order for each function to keep track of the line it is on. I know some frameworks that find the coverage of code use this (such as JSCoverage).
For example, let's say your original call is:
function x() {
1 + 1;
2 + 2;
y();
}
You could write a preprocessor to make it into:
function x() {
var me = arguments.callee;
me.line = 1;
1 + 1;
me.line = 2;
2 + 2;
me.line = 3;
y();
}
Then in y()
, you could use arguments.callee.caller.line
to know the line from which it was called, such as:
function y() {
alert(arguments.callee.caller.line);
}