javascript - 将函数调用捕获为字符串

标签 javascript jquery

使用JS;我将函数名称作为可选参数传递。我想制作一个开关盒来读取正在传递的函数名称。我如何将 functionVariable 当作字符串“functionVariable”来捕获?

例子:

function test(functionVariable)
{
  switch(functionVariable)
  {
    case firstFunction:
    alert('1st');
    break;

    case secondFunction:
    alert('2nd');
    break;
  }
}

当我提醒 functionVariable 时,它​​会打印整个函数。这是有道理的,但我正在尝试解决它并只获取函数名称。

编辑 工作示例

function test(functionVariable)
{
  switch(functionVariable.name)
  {
    case firstFunction:
    alert('1st');
    break;

    case secondFunction:
    alert('2nd');
    break;
  }
}

最佳答案

你可以使用 Function.name .

function doSomething() {
  // does something
}
console.log(doSomething.name); // "doSomething"

请注意,这仅适用于函数声明和命名函数表达式。未命名的函数表达式将不起作用。

var getA = function getA() {
};
console.log(getA.name); // "getA"

var getB = function() { // Notice the lack of a name
};
console.log(getB.name); // ""

关于javascript - 将函数调用捕获为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071227/

相关文章:

jquery - 如何通过 jquery-ui-map 使用个性化图标

jQuery IF/Else 语句

javascript - FF 中页面顶部的空白

Javascript:原型(prototype) x 定义属性 x 还有什么

javascript - 为什么打开模态内的折叠时会触发 Bootstrap 模态回调

javascript - 如何防止iframe修改顶级浏览上下文(top.history)?

javascript - 如何在面向对象的 Javascript 中使用 JSONP

jquery - 宽度 : calc(auto + 50px); doesn't work

javascript - JQuery UI resizable不支持位置: fixed; Any recommendations?

javascript - 如何在html文件中包含外部babel js(es 6)文件?