我搜索了很多但无法得到正确/更新的答案( arguments.caller.callee似乎不存在)。我想知道调用特定函数的代码行号。我得到了this解决方案,可以检索函数调用者名称。
但我在JQuery UI droppable中调用我的函数。 例如:
$("#id").droppable({
stop: function(e,u){
main(); // I want this line number
}
});
这就是我想知道行号的原因。有什么办法吗?
答案 0 :(得分:1)
如果您使用console.error()
,则会显示调用堆栈和行号(至少在Chrome中,当您点击黑色小箭头时):
function foo(){
bar();
}
function bar(){
console.error("hello");
}
foo();
将显示:
检查这个小提琴(console.error
在代码段中无效):https://jsfiddle.net/fs1qqe77/
答案 1 :(得分:0)
我尝试使用try
catch
throw
注意:代码段在iframe
内部工作,因此行不正确。
var i = 2016;
i++;
var str = "Happy new year "+i;
try{
clog();throw new error("l");
}catch(e){
console.log("current line: "+e.stack.split(" at ")[1]);//current file and line
}
function clog(){
console.log(str);
}