Javascript中可以自定义某种功能,并把它加到基本类型中去来方便自己的程序。比如我想给函数加一个功能,是每次给prototype添加方法时用更方便的方法。那么我们就可以自定义这个方法,也就是基本类型功能的扩展。
给Function.prototype添加方法将使得所有的函数都将可以使用这个方法:
Function.prototype.method = function(name, func) { if(!this.prototype[name]) { this.prototype[name] = func; } return this; }
这样在以后添加方法时就不用那么麻烦了,只需要**.method(name, function(){}); 就可以了。如果是正常来写,就要写成**.prototype.name = function() {}。这个扩充功能还有很多应用的地方,比如数字取整:
Number.method("integer", function(){ return Math[this < 0 ? "ceil" : "floor"](this); }); (-14 / 3).integer(); // -4, not -5
这样就可以更方便的取整了。