首页 > 代码库 > jquery.extend 学习笔记
jquery.extend 学习笔记
//
// jquery.extend 学习笔记
// jquery.extend 扩展方法设计的很巧妙,动态增加静态方法和属性
// 虽然网上资料很多,还是跟据自已的学习理解记录一下。
//
//定义一个Person构造函数
function Person(iname,iage){
this.uname = iname;
this.age = iage;
}
//定义原型方法
Person.prototype = {
showN:function(){
//调用静态方法
Person.showName(this);
},
showA:function(){
//调用静态方法
Person.showAge(this);
}
}
//
// 主要看下面两个重要方法
//
//
//1.扩展函数
//两个参数:obj为对像参数,prop属性参数
//obj值是一般是{key:value}类似json格式
//
Person.extend = function(obj,prop) {
//如果没有prop属性参数
if ( !prop ) {
prop = obj;//将对像函数列表
obj = this; //obj为指向调用它的类的对像Person
}
//将要扩展的函数赋给obj指向的对像Person
for ( var i in prop ){
//console.log(prop[i] );
obj[i] = prop[i];
//console.log( obj[i] );
}
//console.log(obj, prop);
return obj;
};
//2. 调用扩展静态函数
//参数为对像(也就是扩展的函数和属性列表)
Person.extend({
person:"v1.0",
//定义静态方法showName
showName:function(obj){
alert("uname=" + obj.uname );
}
,
//定义静态方法showAge
showAge:function(obj){
alert("age=" + obj.age );
},
//这里可以增加更多的扩展函数方法
});
//=========================================================
//测试用
var p = new Person("Hello dream", 30);
p.showN();
p.showA();
jquery.extend 学习笔记