我已经构建了一个将使用模块的插件。基本上可以添加到代码中以提供附加功能的功能。
插件中有一个调用这些模块的函数。以前,我是这样称呼他们的:
processInstance($(doc).find('[data-bcp-crumbs]'), crumbs);
processInstance($(doc).find('[data-bcp-copyright]'), copyright);
processInstance($(doc).find('[data-bcp-activenav]'), activeNav);
每行的最后一部分是将在 processInstance 脚本中调用的函数的名称。因此,我将函数的名称作为字符串和每一行的第一类对象。我想把它简化成这样:
for (var i=0; i>module.length;i++) {
processInstance($(doc).find('[data-bcp-'+module[i].toLowerCase()+']'), window[module[i]]);
}
模块数组被添加到实际模块代码的每个实例之后。我这样做是这样的:
module.push('crumbs');
这不起作用,因为 window[module[i]] 返回未定义。
我的代码需要如何修改才能使其正常工作?
这是整个插件的 jsfiddle 示例,其中插入了一个简单的模块:http: //jsfiddle.net/michaeljimmy/U8anp/1/