JavaScript通过new Error() hack方法从函数体内部获取函数名

Posted fengma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript通过new Error() hack方法从函数体内部获取函数名相关的知识,希望对你有一定的参考价值。

‘use strict‘

function getFuncName (){
    var callerName;
    {
        let reg = /(\w+)@|at ([^(]+) \(/g;
        reg.exec(new Error().stack);  //跑一次exec, 跑到第二个匹配
        let regResult = reg.exec(new Error().stack);
        callerName = regResult[1] || regResult[2];
    }
    console.log(callerName);
};

function funcToKnow (){
   getFuncName();
};

funcToKnow();  //funcToKnow

 

以上是关于JavaScript通过new Error() hack方法从函数体内部获取函数名的主要内容,如果未能解决你的问题,请参考以下文章

extjs:var error = new Error()

JavaScript实现new操作符

JavaScript实现new操作符

Javascript 三元运算符的运算符优先级

JavaScript 错误处理完整指南

如何在 Jasmine 中对“throw new Error()”子句进行单元测试