//通过给Funtion.prototype增加方法来使得该方法对所有函数可用
Function.prototype.method = function(name,func){
//基本类型的原型是公用结构,所以在类库混用时务必小心,一个保险的做法是只在确定没有该方法时才添加它
if(!this.prototype[name]){
this.prototype[name] = func;
}
return this;
};
//给Number对象增加一个取整方法
Number.method('integer',function(){
return Math[this < 0 ? 'ceil' : 'floor'](this);
});
document.writeln((-10 / 3).integer());
//-3
//给String对象增加一个移除字符串首尾空白的方法
String.method('trim',function(){
return this.replace(/^\s+|\s+$/g, '');
});
document.writeln('"' + " neat ".trim() + '"');
//neat
//因为JS原型继承的动态本质,新的方法立刻被赋予到所有的对象实例上,哪怕对象实例是在方法被增加之前就创建好了
Function.prototype.method = function(name,func){
//基本类型的原型是公用结构,所以在类库混用时务必小心,一个保险的做法是只在确定没有该方法时才添加它
if(!this.prototype[name]){
this.prototype[name] = func;
}
return this;
};
//给Number对象增加一个取整方法
Number.method('integer',function(){
return Math[this < 0 ? 'ceil' : 'floor'](this);
});
document.writeln((-10 / 3).integer());
//-3
//给String对象增加一个移除字符串首尾空白的方法
String.method('trim',function(){
return this.replace(/^\s+|\s+$/g, '');
});
document.writeln('"' + " neat ".trim() + '"');
//neat
//因为JS原型继承的动态本质,新的方法立刻被赋予到所有的对象实例上,哪怕对象实例是在方法被增加之前就创建好了