自己附了两个例子,把它记录下来。
//1、扩展本身方式
function fun(){}//定义一个类(函数)
//为该类(函数)添加一个静态方法extend,(静态方法这样定义,相当于一个新的函数【直接调用一个函数是不用new的】)
fun.extend=function(obj){
for(var a in obj)
this[a] = obj[a];//注意:这里的tihs即fun
}
//2、扩展对象 (这样相当于原型上加了一个方法,也就相当于一个class中的一个method,所以要new)
fun.prototype.extend = function(obj){
for(var a in obj)
this[a] = obj[a];//注意:这里的this即是fun.prototype
}
jQuery(function(){
//扩展本身测试
fun.extend({name:"fun",method1:function(){}});
alert(fun.name);
//扩展对象测试
fun.prototype.extend({name:"fun2",method1:function(){}})
alert(new fun().name);
//例子演示: 这样写个例子相信大家理解的就会更明白!
//为date添加静态方法
Date.testDate = function(){
alert('测试Date');
}
Date.testDate();
//为date本身添加方法
Date.prototype.test = function(){
alert('Test Date self');
}
new Date().test();
});