Function.prototype.addMethod = function(name, fn) { if (!this.prototype[name]) { this.prototype[name] = fn; return this; } }var Methods = function() {}; Methods .addMethod('checkName', function() { return this; }) .addMethod('checkMail', function() { return this; })var m = new Methods(); m.checkName().checkMail();
这样一段代码,实际上和下面这段代码是不是等价的?
var CheckObject = function(){}; CheckObject.prototype = { checkName: function(){ return this; }, checkEmail: function(){ return this; } }var a = new CheckObject(); a.checkName().checkEmail();
都是给目标函数添加了两个方法:checkName和checkMail,从最终效果来看两种方法实现的作用都是一样的。
两种方法各有什么优势呢?或者说第一种方法好在哪里?他给原生js添加了一个方法addMethod,不会污染原生的JS吗?
吃鸡游戏
相关分类