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

这样就可以更方便的取整了。