(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) ;
};
测试代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>test</div>
<input type="text" value="hanchao">
<!-- JS -->
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="demo.js"></script>
<script type="text/javascript">
(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);
})();
</script>
</body>
</html>
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。