<code>(</code><code>function</code><code>($){</code>
<code> </code>
<code> </code><code>/**</code>
<code> </code><code>1.</code>
<code> </code><code>$.fn是指jquery的命名空間,加上fn上的方法及屬性,會對jquery執行個體每一個有效。</code>
<code> </code><code>如擴充$.fn.abc(),即$.fn.abc()是對jquery擴充了一個abc方法,</code>
<code> </code><code>那麼後面你的每一個jquery執行個體都可以引用這個方法了. </code>
<code> </code><code>那麼你可以這樣子:$("#div").abc(); </code>
<code> </code><code>2. </code>
<code> </code><code>jQuery為開發插件提拱了兩個方法,分别是: </code>
<code> </code>
<code> </code><code>jQuery.extend(object);為擴充jQuery類本身.為類添加新的方法。→ 可以了解為【靜态方法 】</code>
<code> </code><code>jQuery.fn.extend(object);給jQuery對象添加方法</code>
<code> </code><code>jQuery.fn.extend(object);對jQuery.prototype進得擴充,</code>
<code> </code><code>就是為jQuery類添加“成員函數”。jQuery類的執行個體可以使用這個“成員函數”。</code>
<code> </code><code>//jQuery源碼中。。。</code>
<code> </code><code>jQuery.fn = jQuery.prototype ={ </code>
<code> </code><code> init: function( selector, context ){//.... </code>
<code> </code><code> //...... </code>
<code> </code><code>}; </code>
<code> </code><code>3.</code>
<code> </code><code>$.fn.function用于添加單個方法</code>
<code> </code><code>$.fn.extend 用于添加多個方法</code>
<code> </code><code>參考:http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html</code>
<code> </code><code>*/</code>
<code> </code><code>//1.</code>
<code> </code><code>$.fn.abc = </code><code>function</code><code>() {</code>
<code> </code><code>alert(</code><code>"測試$.fn.,可以參考select下拉框總結那篇文章!"</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>//2.為 jQuery 添加一個為add 的 “靜态方法”,之後便可以在引入 jQuery 的地方,使用這個方法了,</code>
<code> </code><code>$.extend({</code>
<code> </code><code>add:</code><code>function</code><code>(a,b) {</code>
<code> </code><code>return</code> <code>a + b;</code>
<code> </code><code>},</code>
<code> </code><code>sub:</code><code>function</code><code>(a,b) {</code>
<code> </code><code>return</code> <code>a - b;</code>
<code> </code><code>}</code>
<code> </code><code>});</code>
<code> </code><code>//2.1</code>
<code> </code><code>$.fn.extend({</code>
<code> </code><code>getVal:</code><code>function</code><code>() {</code>
<code> </code><code>return</code> <code>$(</code><code>this</code><code>).val();</code>
<code> </code><code>//3....</code>
<code> </code><code>$.hcCookie = {</code>
<code> </code><code>g: </code><code>function</code><code>(name) {</code>
<code> </code><code>var</code> <code>arr = document.cookie.match(</code><code>new</code> <code>RegExp(</code><code>"(^| )"</code> <code>+ name + </code><code>"=([^;]*)(;|$)"</code><code>));</code>
<code> </code><code>if</code> <code>(arr != </code><code>null</code><code>) </code><code>return</code> <code>unescape(arr[2]); </code><code>return</code> <code>null</code><code>;</code>
<code> </code><code>},</code>
<code> </code><code>d: </code><code>function</code><code>(name) {</code>
<code> </code><code>var</code> <code>exp = </code><code>new</code> <code>Date();</code>
<code> </code><code>exp.setTime(exp.getTime() - 1);</code>
<code> </code><code>var</code> <code>cval = getCookie(name);</code>
<code> </code><code>if</code> <code>(cval != </code><code>null</code><code>) document.cookie = name + </code><code>"="</code> <code>+ cval + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>
<code> </code><code>s: </code><code>function</code><code>(name, value,t) {</code>
<code> </code><code>var</code> <code>days = 30;</code>
<code> </code><code>if</code><code>(t){</code>
<code> </code><code>exp.setTime(exp.getTime()+t* 60 * 60 * 1000);</code>
<code> </code><code>}</code><code>else</code><code>{</code>
<code> </code><code>exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);</code>
<code> </code><code>}</code>
<code> </code>
<code> </code><code>document.cookie = name + </code><code>"="</code> <code>+ escape(value) + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>};</code>
<code>})(jQuery);</code>
<code>/**</code>
<code> </code><code>寫在(function($){})(jQuery);外面</code>
<code> </code><code>【下面的代碼可以單獨放在一個JS中,base.js】</code>
<code>*/</code>
<code>var</code> <code>kzCookie={</code>
<code> </code><code>g: </code><code>function</code><code>(name) {</code>
<code> </code><code>var</code> <code>arr = document.cookie.match(</code><code>new</code> <code>RegExp(</code><code>"(^| )"</code> <code>+ name + </code><code>"=([^;]*)(;|$)"</code><code>));</code>
<code> </code><code>if</code> <code>(arr != </code><code>null</code><code>) </code><code>return</code> <code>unescape(arr[2]); </code><code>return</code> <code>null</code><code>;</code>
<code> </code><code>},</code>
<code> </code><code>d: </code><code>function</code><code>(name) {</code>
<code> </code><code>var</code> <code>exp = </code><code>new</code> <code>Date();</code>
<code> </code><code>exp.setTime(exp.getTime() - 1);</code>
<code> </code><code>var</code> <code>cval = </code><code>this</code><code>.g(name);</code>
<code> </code><code>if</code> <code>(cval != </code><code>null</code><code>) document.cookie = name + </code><code>"="</code> <code>+ cval + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>
<code> </code><code>s: </code><code>function</code><code>(name, value,t) {</code>
<code> </code><code>var</code> <code>days = 30;</code>
<code> </code><code>if</code><code>(t){</code>
<code> </code><code>exp.setTime(exp.getTime()+t* 60 * 60 * 1000);</code>
<code> </code><code>}</code><code>else</code><code>{</code>
<code> </code><code>exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);</code>
<code> </code><code>document.cookie = name + </code><code>"="</code> <code>+ escape(value) + </code><code>";expires="</code> <code>+ exp.toGMTString() + </code><code>";path=/"</code><code>;</code>
<code>};</code>
<code>//去右空格 </code>
<code>String.prototype.rTrim=</code><code>function</code><code>(str){ </code>
<code> </code><code>var</code> <code>re_r=</code><code>new</code> <code>RegExp(</code><code>"([.\\w]*)"</code><code>+(str&&(</code><code>"(\\"</code><code>+str+</code><code>")"</code><code>)||</code><code>"[ ]"</code><code>)+</code><code>"+$"</code><code>) ;</code>
<code> </code><code>return</code> <code>this</code><code>.replace(re_r, </code><code>"$1"</code><code>) ;</code>
<code>//去左空格 </code>
<code>String.prototype.lTrim=</code><code>function</code><code>(str){ </code>
<code> </code><code>var</code> <code>re_l=</code><code>new</code> <code>RegExp(</code><code>"^"</code><code>+(str&&(</code><code>"(\\"</code><code>+str+</code><code>")"</code><code>)||</code><code>"[ ]"</code><code>)+</code><code>"+(.*)"</code><code>) ;</code>
<code> </code><code>return</code> <code>this</code><code>.replace(re_l, </code><code>"$2"</code><code>) ;</code>
<code>//去左右空格 </code>
<code>String.prototype.trim=</code><code>function</code><code>(str){ </code>
<code> </code><code>return</code> <code>this</code><code>.lTrim(str).rTrim(str) ;</code>
測試代碼:
<code><!DOCTYPE html></code>
<code><</code><code>html</code> <code>lang</code><code>=</code><code>"en"</code><code>></code>
<code><</code><code>head</code><code>></code>
<code> </code><code><</code><code>meta</code> <code>charset</code><code>=</code><code>"UTF-8"</code><code>></code>
<code> </code><code><</code><code>title</code><code>>Document</</code><code>title</code><code>></code>
<code></</code><code>head</code><code>></code>
<code><</code><code>body</code><code>></code>
<code> </code><code><</code><code>div</code><code>>test</</code><code>div</code><code>></code>
<code> </code><code><</code><code>input</code> <code>type</code><code>=</code><code>"text"</code> <code>value</code><code>=</code><code>"hanchao"</code><code>></code>
<code> </code><code><!-- JS --></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>src</code><code>=</code><code>"http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code> <code>src</code><code>=</code><code>"demo.js"</code><code>></</code><code>script</code><code>></code>
<code> </code><code><</code><code>script</code> <code>type</code><code>=</code><code>"text/javascript"</code><code>></code>
<code> </code><code>(function(){</code>
<code> </code><code>//alert(1);</code>
<code> </code><code>// $("div").abc();</code>
<code> </code><code>// var result = $.add(3,4);</code>
<code> </code><code>// alert(result);</code>
<code> </code><code>//var result = $.sub(5,4);</code>
<code> </code><code>//alert(result);</code>
<code> </code><code>// var result = $("input").getVal();</code>
<code>/*</code>
<code> </code><code>kzCookie.s("hanchao","testcookienew",24);</code>
<code> </code><code>kzCookie.s("hanchao1","testcookienew1",24);</code>
<code> </code>
<code> </code><code>kzCookie.d("hanchao");</code>
<code> </code><code>//kzCookie.d("hanchao1");</code>
<code> </code><code>var cookieValue = kzCookie.g("hanchao");</code>
<code> </code><code>var cookieValue1 = kzCookie.g("hanchao1");</code>
<code> </code><code>alert(cookieValue);</code>
<code> </code><code>alert(cookieValue1);*/</code>
<code> </code><code>$.hcCookie.s("hanchao","testcookienew",24);</code>
<code> </code><code>})();</code>
<code> </code><code></</code><code>script</code><code>></code>
<code></</code><code>body</code><code>></code>
<code></</code><code>html</code><code>></code>
本文轉自韓立偉 51CTO部落格,原文連結:http://blog.51cto.com/hanchaohan/1529686,如需轉載請自行聯系原作者