首页 > 解决方案 > 如何使用变量名执行函数?

问题描述

这是我的代码:

$(function(){
  function myfunc(){
    alert("executed");
  }
  
  var function_name = "myfunc";
  window[function_name]();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

如您所见,该函数未定义。为什么?我怎样才能让它工作?

标签: javascriptjquery

解决方案


该函数未在全局范围内定义,因此它不是窗口对象的成员。

您可以像这样将该函数附加到窗口对象。

$(function(){
  window.myfunc = function(){
    alert("executed");
  };

  var function_name = "myfunc";
  window[function_name]();
})

推荐阅读