java fn_$.fn.extend简单学习

(function($){

/**

1.

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。

如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,

那么后面你的每一个jquery实例都可以引用这个方法了.

那么你可以这样子:$("#div").abc();

2.

jQuery为开发插件提拱了两个方法,分别是:

jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。→ 可以理解为【静态方法 】

jQuery.fn.extend(object);给jQuery对象添加方法

jQuery.fn.extend(object);对jQuery.prototype进得扩展,

就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

//jQuery源码中。。。

jQuery.fn = jQuery.prototype ={

init: function( selector, context ){//....

//......

};

3.

$.fn.function用于添加单个方法

$.fn.extend 用于添加多个方法

参考:http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html

*/

//1.

$.fn.abc = function() {

alert("测试$.fn.,可以参考select下拉框总结那篇文章!");

}

//2.为 jQuery 添加一个为add 的 “静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了,

$.extend({

add:function(a,b) {

return a + b;

},

sub:function(a,b) {

return a - b;

}

});

//2.1

$.fn.extend({

getVal:function() {

return $(this).val();

}

});

//3....

$.hcCookie = {

g: function(name) {

var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

if (arr != null) return unescape(arr[2]); return null;

},

d: function(name) {

var exp = new Date();

exp.setTime(exp.getTime() - 1);

var cval = getCookie(name);

if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/";

},

s: function(name, value,t) {

var days = 30;

var exp = new Date();

if(t){

exp.setTime(exp.getTime()+t* 60 * 60 * 1000);

}else{

exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);

}

document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";

}

};

})(jQuery);

/**

写在(function($){})(jQuery);外面

【下面的代码可以单独放在一个JS中,base.js】

*/

var kzCookie={

g: function(name) {

var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

if (arr != null) return unescape(arr[2]); return null;

},

d: function(name) {

var exp = new Date();

exp.setTime(exp.getTime() - 1);

var cval = this.g(name);

if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/";

},

s: function(name, value,t) {

var days = 30;

var exp = new Date();

if(t){

exp.setTime(exp.getTime()+t* 60 * 60 * 1000);

}else{

exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);

}

document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";

}

};

//去右空格

String.prototype.rTrim=function(str){

var   re_r=new RegExp("([.\\w]*)"+(str&&("(\\"+str+")")||"[ ]")+"+$") ;

return   this.replace(re_r, "$1") ;

};

//去左空格

String.prototype.lTrim=function(str){

var   re_l=new RegExp("^"+(str&&("(\\"+str+")")||"[ ]")+"+(.*)") ;

return   this.replace(re_l, "$2") ;

};

//去左右空格

String.prototype.trim=function(str){

return   this.lTrim(str).rTrim(str) ;

};

测试代码:html>

Document
test

(function(){

//alert(1);

// $("div").abc();

// var result = $.add(3,4);

// alert(result);

//var result = $.sub(5,4);

//alert(result);

// var result = $("input").getVal();

// alert(result);

/*

kzCookie.s("hanchao","testcookienew",24);

kzCookie.s("hanchao1","testcookienew1",24);

kzCookie.d("hanchao");

//kzCookie.d("hanchao1");

var cookieValue = kzCookie.g("hanchao");

var cookieValue1 = kzCookie.g("hanchao1");

alert(cookieValue);

alert(cookieValue1);*/

$.hcCookie.s("hanchao","testcookienew",24);

var cookieValue = kzCookie.g("hanchao");

alert(cookieValue);

})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值