首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定JavaScript中的当前行号?

如何确定JavaScript中的当前行号?
EN

Stack Overflow用户
提问于 2010-02-27 01:03:02
回答 7查看 70.3K关注 0票数 110

JavaScript是否有机制来确定当前正在执行的语句的行号(如果有,是什么)?

EN

回答 7

Stack Overflow用户

发布于 2010-02-27 01:08:48

var thisline = new Error().lineNumber

如果这在您使用的任何环境中都不起作用,您可以尝试:

var stack = new Error().stack

然后在堆栈中搜索行号。

票数 75
EN

Stack Overflow用户

发布于 2015-04-16 09:57:04

您可以使用:

function test(){
    console.trace();
}

test();
票数 49
EN

Stack Overflow用户

发布于 2014-11-22 12:58:20

在不同浏览器和浏览器版本之间的可移植性更好(应该适用于火狐、Chrome和IE10+):

function ln() {
  var e = new Error();
  if (!e.stack) try {
    // IE requires the Error to actually be throw or else the Error's 'stack'
    // property is undefined.
    throw e;
  } catch (e) {
    if (!e.stack) {
      return 0; // IE < 10, likely
    }
  }
  var stack = e.stack.toString().split(/\r\n|\n/);
  // We want our caller's frame. It's index into |stack| depends on the
  // browser and browser version, so we need to search for the second frame:
  var frameRE = /:(\d+):(?:\d+)[^\d]*$/;
  do {
    var frame = stack.shift();
  } while (!frameRE.exec(frame) && stack.length);
  return frameRE.exec(stack.shift())[1];
}
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2343343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档