当我通过变量名称调用方法时,我会继续
TypeError: window[$hello] is not a function
我一直在阅读有关堆栈溢出的其他帖子,但它似乎并没有在我的代码上工作。我不确定我在这里做错了什么。
如果有人能帮助我,我会非常感激。以下是我的代码!谢谢!
function Actions(){
function hello(){
alert("hello world");
}
(function(){
$(document).on("change",".item-actions",function(){
var $hello = "hello";
window[$hello]();
});
})();
}
答案 0 :(得分:2)
您的hello()
函数是Actions()
函数的本地函数,因此它不会显示在window
对象上。只有全局函数在window
。
您可以使用自己的对象获得类似的效果:
function Actions(){
var functions = {
hello: function hello(){
alert("hello world");
},
// more ...
};
(function(){
$(document).on("change",".item-actions",function(){
var $hello = "hello";
functions[$hello]();
});
})();
}