当前位置: 首页 > 面试题库 >

我可以获取JavaScript中当前正在运行的函数的名称吗?

章茂
2023-03-14
问题内容

是否有可能做到这一点:

myfile.js:
function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}

我的堆栈中有Dojo和jQuery框架,因此,如果这两个框架都使它变得更容易,它们将可用。


问题答案:

在ES5及更高版本中,无法访问该信息。

在旧版JS中,您可以使用来获得它arguments.callee

但是,您可能必须解析名称,因为它可能包括一些额外的垃圾。不过,在某些实现中,您可以使用来简单地获取名称arguments.callee.name

解析:

function DisplayMyName() 
{
   var myName = arguments.callee.toString();
   myName = myName.substr('function '.length);
   myName = myName.substr(0, myName.indexOf('('));

   alert(myName);
}


 类似资料:
  • 问题内容: 出于跟踪目的,我想打印出当前函数名称,例如gcc中的宏。 这样当我有一个功能 它会自动打印出来或类似的东西。 问题答案: [注意:Go 1.7+建议使用代替; 包运行时是您的朋友在这里:

  • 问题内容: 在JUnit 3中,我可以这样获得当前正在运行的测试的名称: 它将显示“当前测试是testSomething”。 在JUnit 4中,有什么现成的或简单的方法可以做到这一点吗? 背景:显然,我不想只打印测试的名称。我要加载存储在与测试名称相同的资源中的特定于测试的数据。您知道,约定优于配置以及所有其他内容。 问题答案: JUnit 4.7似乎使用TestName-Rule添加了此功能。

  • 本文向大家介绍python获取当前运行函数名称的方法实例代码,包括了python获取当前运行函数名称的方法实例代码的使用技巧和注意事项,需要的朋友参考一下 python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使

  • 问题内容: 我希望这个问题不是太简单,但是我不知道:( 如何在函数名称中使用var启动函数? 例如 … 我的职能 启动功能 我希望有人能帮助我。 提前致谢!彼得 问题答案: 将函数存储在一个对象中,而不是使其成为顶层。 然后,您可以像访问其他任何对象一样访问它们: 您也可以直接从对象访问它们… ……并避免将它们存储在一个对象中,但这意味着应该在全局范围内进行播放。

  • 问题内容: 这是一个不寻常的情况:是否可以获取最初产生当前正在运行的线程的类/方法?运行堆栈跟踪自然会在当前线程的调用堆栈顶部停止。 问题答案: 是的,您可以:我提供两种方式:一种标准方式和一种半破解方式。 大多数答案都应该是Java内置的功能。 安装安全管理器并覆盖,您可以轻松获取堆栈跟踪,或者可以通过覆盖其余方法来禁用其余的安全检查。 顽皮的一:在主线程中安装一个InheritableThre

  • 本文向大家介绍JavaScript 获取函数对象的名称,包括了JavaScript 获取函数对象的名称的使用技巧和注意事项,需要的朋友参考一下 示例 6 ES6: 关于MDN的说明。自2015年起,可以在nodejs和除IE之外的所有主要浏览器中使用。 5 ES5: 如果您有对该功能的引用,则可以执行以下操作: