Javascript 将字符串转换为函数名

标签 javascript

<分区>

Possible Duplicate:
Call a JavaScript function name using a string?
javascript string to variable

我有这个代码:

var Functionify = function() {

    return {

        init: function(el, t) {
            var els = document.getElementsByClassName(el);
            var elsL = els.length;

            while(elsL--){
                //els[elsL].onclick = els[elsL].getAttribute(t);
                els[elsL].addEventListener('click', els[elsL].getAttribute(t), false);
            }
        }

    };

}();

其中 el = 'myClassName't = 'data-id'

现在,“t”是一个字符串,如何告诉 addEventListener 函数使用“t”(一个字符串)作为函数名?

最佳答案

在全局命名空间中,您可以执行以下操作:

this.test = function() {
    alert('test');
}

window['test']();

但是,更好的选择是让您的函数成为您创建的对象的方法,而不是全局 window 对象的方法。

关于Javascript 将字符串转换为函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11731211/

相关文章:

javascript - 单击具有不同类名称的另一行时隐藏/显示具有特定类名称的表行? Angular 2

javascript - 尝试访问 BigQuery 的 Oauth 客户端无效

javascript - 如何制作真正的响应式图像 slider ?

javascript - 从表单中删除重复的复选框

javascript - jquery中如何知道ajax是否完成?

javascript - 嵌套对象: Update all attributes with same names

javascript - 如果 setInterval 函数没有足够的时间在给定的时间间隔内执行其功能怎么办?

javascript - 我们是否应该尽可能使用服务器端解决方案代替 javascript 进行多设备观看?

javascript - 使用 Worklight 适配器,我可以在运行时更改过程的域和端口吗?

javascript - Google Analytics 代码出现在眼前会怎样?