1. js允许给语言添加基本类型的扩充功能,
例如:给Object.prototype 添加方法,可以该方法对所有对象都可以使用
给Function.prototype 添加方法,可以使得该方法对所有函数都可以使用
2.给Function.prototype添加方法
1.新的方法会立刻被赋值到所有对象上实例上,哪怕对象实例是在方法被增加之前就创建好
2.基本类型的原型是公用结构,在类库混用是务必小心,一个保险的做法是只有在没有该方法的时候才添加它
// 给js 添加自定义函数
//此方法通过传入方法名称,和方法体,并将此名称绑定为prototype的属性名为name的属性,并将方法设置为属性值,将此方法绑定到原型链接上
//下次某个类型添加方法就不必再输入prototype 这个字符
Function.prototype.method = function(name,func) {
this.prototype[name] = func;
return this;
};
//例如在给String 类型增加 trim 方法,并绑定到原型链上
String.method = ("trim",function(){
return this.replace(/^\S+|\S+$/g,"");
});
console.log(" name ".trim());
判断有无该方法,没有才添加
//判断原型链中有无要添加的方法,没有才添加
Function.prototype.method = function(name,func) {
if(!this.prototype[name]){
this.prototype[name] = func;
}
return this;
};