給Object.prototype增長方法可以使該方法對全部對象可用,這樣的方式對函數、數組、字符串、數字、正則表達式和布爾值一樣適用。好比說爲Function.prototype增長方法來使得改方法對全部函數可用。javascript
增長method方法是爲了避免用輸入prototype屬性。method對全部函數可用java
Function.prototype.method = function(name, func) { this.prototype[name] = func; return this; }
1. 用method方法給Number類型添加integer函數來獲取數字整數部分。正則表達式
Number.method('integer', function(){ return Math[this < 0 ? 'ceil' : 'floor'](this); });
測試:-10/3 = -3.333333....數組
console.log((-10/3).integer());
> -3 //結果
2. 移除字符串首末的空格,這其實也是原生js的一個疏忽。函數
String.method('trim', function() { return this.replace(/^\s+|\s+$/g, ''); }); console.log(" trim ".trim()); //" trim "字符串就是trim方法中得this
> "trim" //結果無空格