为JavaScript库中的方法创建不推荐/过时的行为

时间:2014-02-12 11:18:58

标签: javascript

我的一位朋友有一个流行的开源JavaScript库,在社区中使用得很好。他现在正在经历一个重构和应用最佳实践和约定的过程,并希望大写所有构造函数。所以在过去他可能已经定义了一个chart对象,他现在希望它被称为Chart以坚持约定。

因为这个库使用得很好,所以当他们使用旧的函数名称并最终弃用它们时,他宁愿警告开发人员。

我建议使用辅助函数:

var ObsoleteWithReplacement = function(replacementFunction, oldFnName, newFnName) {
    var wrapper = function() {
       if (console && console.warn) {
          console.warn("WARNING! Obsolete function called.  Function '" + oldFnName + "' has been deprecated, please use the new '" + newFnName + "' function instead!");
       }

        replacementFunction.apply(this, arguments);
    }
    wrapper.prototype = replacementFunction.prototype;

    return wrapper;
}

可以如下调用:http://jsfiddle.net/rLNep/1/

这是一个很好的方法吗?你能推荐一种更好的方法吗?

0 个答案:

没有答案