Advantage
Avoid re-created instance method to this inside of the constructor.
method() implementation
The method() takes two parameters:
• The name of the new method
• The implementation of the method
if (typeof Function.PRototype.method !== "function") { Function.prototype.method = function (name, implementation) { this.prototype[name] = implementation; return this; };}
How to use this pattern
var Person = function (name) { this.name = name;}.method('getName', function () { return this.name;}).method('setName', function (name) { this.name = name; return this;}); var a = new Person('Adam');a.getName(); // 'Adam'a.setName('Eve').getName(); // 'Eve'
References:
Javascript Patterns -by Stoyan Stefanov(O`Reilly)
新闻热点
疑难解答