javascript - 如何使用变量名执行函数?
问题描述
这是我的代码:
$(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>
如您所见,该函数未定义。为什么?我怎样才能让它工作?
解决方案
该函数未在全局范围内定义,因此它不是窗口对象的成员。
您可以像这样将该函数附加到窗口对象。
$(function(){
window.myfunc = function(){
alert("executed");
};
var function_name = "myfunc";
window[function_name]();
})
推荐阅读
- javascript - Knockout js数组给出长度0但它包含一些值
- xml - XSLT 如何调用没有 ID 参数的 XML 项目?
- r - 为什么我传递给 R 函数的参数不会改变值?
- node.js - 如何修复“在索引 0 处找到带有非文字参数的 fs.readFile”?
- c# - 无法在同一解决方案中的不同项目上在 C# 中从类转换为类
- javascript - 如何通过 id:“651162398833115”或 post_id:“650534342229254_651162398833115”从 Facebook 页面获取原始图像?
- vba - ExecuteMso(“SlidesReuseSlides”)不再起作用
- regex - 如何使 str_detect 或 str_extract 工作?
- firebase - 如何从 firebase 托管子目录指向 Wordpress 博客
- python - 圆角窗 Tkinter