【问题标题】:Javascript put a variable in function nameJavascript在函数名中放置一个变量
【发布时间】:2014-03-13 06:19:46
【问题描述】:

是否可以将变量放在函数名中? 我正在尝试这样做

var **myvariable**;
function myFunction **myvariable** ()

有没有办法在这个函数名中加上“myvariable”? 谢谢

【问题讨论】:

  • 在全局范围内您可以使用函数表达式:window[<any expression here>] = function() {...},但您不能对局部变量或函数声明执行此操作(edit:不使用 eval在这种情况下真的不应该使用)。
  • 你能说得更具体一点吗?您是否正在尝试做类似eval("var myFunction" + variableName + " = function(){}"); 的事情
  • 你想完成什么?可能还有其他方法可以提供相同的功能。
  • 您应该询问您要解决的实际问题,而不是您认为正确的解决方案。 What is the XY Problem

标签: javascript function variables


【解决方案1】:

var 的方式定义您的函数,如下所示:

var testFunction = function(){
    //TODO
};

如果您的函数定义在窗口范围内,则转换为:

var name = 'testFunction';
window[name] = function(){
    //TODO
};

类似的东西。

【讨论】:

    【解决方案2】:

    我不确定你的动机是什么,但是怎么样:

    var foo;
    foo = function bar(){
    
    }
    

    这会将名为bar 的函数分配给变量foo。这意味着:

    >foo
    function bar(){
    
    }
    

    同时

    >foo.name
    "bar"
    

    【讨论】:

      猜你喜欢
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      相关资源
      最近更新 更多