真的,我正在查看我的代码中的模式并意识到它可能会被简化。所以,这是最终目标。这是针对我正在编写的一个插件,它根据某些数据属性的存在调用不同的函数。
var a = $.extend({},$.bcplugins.defaults,options);
var b;
// a variable for each plugin's data attribute
var crumbsInstances = doc.find('[data-bcp-crumbs]'),
copyrightInstances = doc.find('[data-bcp-copyright]'),
activeNavInstances = doc.find('[data-bcp-activenav]');
// Determine wich functions get called
if (crumbsInstances.length) {
crumbsInstances.each(function() {
b = {};
b = $$.extend({}, b, $(this).data(a.dataOptions));
crumbs(a,b);
});
}
if (copyrightInstances.length) {
copyrightInstances.each(function() {
b = {};
b = $$.extend({}, b, $(this).data(a.dataOptions));
copyright(a,b);
});
}
if (activeNavInstances.length) {
activeNavInstances.each(function() {
b = {};
b = $$.extend({}, b, $(this).data(a.dataOptions));
activeNav(a,b);
});
}
随着时间的推移,这个插件将拥有越来越多的功能。我可以通过变量将其减少为一个 if 语句吗?