jQuery下擴(kuò)展插件和拓展函數(shù)的寫法(匿名函數(shù)使用的典型例子)
更新時(shí)間:2010年10月20日 01:51:05 作者:
這些年,javascript火起來了,主要?dú)w功于AJAX的推廣應(yīng)用,Web2.0的發(fā)展。。。于是,出現(xiàn)了很多的javascript框架。
我選擇了jQuery,最主要是它的思想“write less,do more",因?yàn)槲沂且粋€(gè)挑剔的人,以前寫過的代碼,會(huì)時(shí)不時(shí)翻出來,看看有沒有可以精簡(jiǎn),優(yōu)化的地方。一來是對(duì)不斷學(xué)習(xí)的推動(dòng),二來可以將新的思想,技術(shù)應(yīng)用到里面去。
對(duì)于jQuery插件的寫法,以前就有介紹過,網(wǎng)上也有很多例子。 這里簡(jiǎn)要地進(jìn)行些寫法,主要是簡(jiǎn)寫的說明,見下列代碼:
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
//jQuery插件的寫法(需要傳入操作對(duì)象)
;(function($)
{
//PI_TestPlugIn為插件名稱,也是插件的操作對(duì)象
//為了不會(huì)與其它插件名重復(fù),這里我使用PlugIn的縮寫PI_來定義插件對(duì)象前綴
$.fn.PI_TestPlugIn=
{
//該插件的基本信息
Info:{
Name: "TestPlugIn",
Ver: "1.0.0.0",
Corp: "Lzhdim",
Author: "lzhdim",
Date: "2010-01-01 08:00:00",
Copyright: "Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved",
License: "GPL"
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)對(duì)象,具有屬性
FunctionWithParams:function(paramObj)
{
//使用參數(shù),是否使用默認(rèn)值
var params = paramObj ? paramObj : new function(){
param1= "1";
param2= "2";
};
return this.Info.Name + ".FunctionWithParamObject";
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)變量
FunctionWithParam:function(varparam)
{
//使用參數(shù),是否使用默認(rèn)值
var param = varparam ? varparam : null;
return this.Info.Name + ".FunctionWithParam";
},
//不具有參數(shù)的函數(shù)對(duì)象
FunctionWithOutParam:function()
{
return this.Info.Name + ".FunctionWithOutParam";
}
};
})(jQuery);
//jQuery拓展函數(shù)的寫法(不需要傳入操作對(duì)象),即API函數(shù)
;(function($)
{
$.extend({
//PIF_TestExtendFunction為拓展函數(shù)的操作對(duì)象
//為了不會(huì)與其它插件名重復(fù),這里我使用PlugIn的縮寫PI_來定義插件對(duì)象前綴
PIF_TestExtendFunction:
{
//該拓展函數(shù)的基本信息
Info:{
Name: "TestExtendFunction",
Ver: "1.0.0.0",
Corp: "Lzhdim",
Author: "lzhdim",
Date: "2010-01-01 08:00:00",
Copyright: "Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved",
License: "GPL"
},
//具有參數(shù)的函數(shù)對(duì)象
FunctionWithParams:function(paramObj)
{
//使用參數(shù),是否使用默認(rèn)值
var params = paramObj ? paramObj : {
param1: "1",
param2: "2"
};
return this.Info.Name + ".FunctionWithParamObect";
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)變量
FunctionWithParam: function (varparam) {
//使用參數(shù),是否使用默認(rèn)值
var param = varparam ? varparam : null;
return this.Info.Name + ".FunctionWithParam";
},
//不具有參數(shù)的函數(shù)對(duì)象
FunctionWithOutParam:function()
{
return this.Info.Name + ".FunctionWithOutParam";
}
}
});
})(jQuery);
$(function ()
{
//測(cè)試插件
var params =
{
param1: "3",
param2: "4"
};
alert($(this).PI_TestPlugIn.FunctionWithParams(params));
alert($.PIF_TestExtendFunction.FunctionWithOutParam());
});
</script>
對(duì)于jQuery插件的寫法,以前就有介紹過,網(wǎng)上也有很多例子。 這里簡(jiǎn)要地進(jìn)行些寫法,主要是簡(jiǎn)寫的說明,見下列代碼:
<script type="text/javascript" src="jquery-1.4.2.js"></script>
復(fù)制代碼 代碼如下:
<script type="text/javascript">
//jQuery插件的寫法(需要傳入操作對(duì)象)
;(function($)
{
//PI_TestPlugIn為插件名稱,也是插件的操作對(duì)象
//為了不會(huì)與其它插件名重復(fù),這里我使用PlugIn的縮寫PI_來定義插件對(duì)象前綴
$.fn.PI_TestPlugIn=
{
//該插件的基本信息
Info:{
Name: "TestPlugIn",
Ver: "1.0.0.0",
Corp: "Lzhdim",
Author: "lzhdim",
Date: "2010-01-01 08:00:00",
Copyright: "Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved",
License: "GPL"
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)對(duì)象,具有屬性
FunctionWithParams:function(paramObj)
{
//使用參數(shù),是否使用默認(rèn)值
var params = paramObj ? paramObj : new function(){
param1= "1";
param2= "2";
};
return this.Info.Name + ".FunctionWithParamObject";
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)變量
FunctionWithParam:function(varparam)
{
//使用參數(shù),是否使用默認(rèn)值
var param = varparam ? varparam : null;
return this.Info.Name + ".FunctionWithParam";
},
//不具有參數(shù)的函數(shù)對(duì)象
FunctionWithOutParam:function()
{
return this.Info.Name + ".FunctionWithOutParam";
}
};
})(jQuery);
//jQuery拓展函數(shù)的寫法(不需要傳入操作對(duì)象),即API函數(shù)
;(function($)
{
$.extend({
//PIF_TestExtendFunction為拓展函數(shù)的操作對(duì)象
//為了不會(huì)與其它插件名重復(fù),這里我使用PlugIn的縮寫PI_來定義插件對(duì)象前綴
PIF_TestExtendFunction:
{
//該拓展函數(shù)的基本信息
Info:{
Name: "TestExtendFunction",
Ver: "1.0.0.0",
Corp: "Lzhdim",
Author: "lzhdim",
Date: "2010-01-01 08:00:00",
Copyright: "Copyright @ 2000-2010 Lzhdim Technology Software All Rights Reserved",
License: "GPL"
},
//具有參數(shù)的函數(shù)對(duì)象
FunctionWithParams:function(paramObj)
{
//使用參數(shù),是否使用默認(rèn)值
var params = paramObj ? paramObj : {
param1: "1",
param2: "2"
};
return this.Info.Name + ".FunctionWithParamObect";
},
//具有參數(shù)的函數(shù)對(duì)象,這里參數(shù)是一個(gè)變量
FunctionWithParam: function (varparam) {
//使用參數(shù),是否使用默認(rèn)值
var param = varparam ? varparam : null;
return this.Info.Name + ".FunctionWithParam";
},
//不具有參數(shù)的函數(shù)對(duì)象
FunctionWithOutParam:function()
{
return this.Info.Name + ".FunctionWithOutParam";
}
}
});
})(jQuery);
$(function ()
{
//測(cè)試插件
var params =
{
param1: "3",
param2: "4"
};
alert($(this).PI_TestPlugIn.FunctionWithParams(params));
alert($.PIF_TestExtendFunction.FunctionWithOutParam());
});
</script>
您可能感興趣的文章:
- jquery自定義函數(shù)的多種方法
- jQuery 自定義函數(shù)寫法分享
- jQuery回調(diào)函數(shù)的定義及用法實(shí)例
- jQuery.extend 函數(shù)詳解
- jQuery中將函數(shù)賦值給變量的調(diào)用方法
- jquery封裝插件時(shí)匿名函數(shù)形參和實(shí)參的寫法解釋
- jQuery構(gòu)造函數(shù)init參數(shù)分析
- jQuery實(shí)用函數(shù)用法總結(jié)
- jQuery 回調(diào)函數(shù)(callback)的使用和基礎(chǔ)
- jQuery 函數(shù)實(shí)例分析【函數(shù)聲明、函數(shù)表達(dá)式、匿名函數(shù)等】
相關(guān)文章
jQuery實(shí)現(xiàn)div橫向拖拽排序的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猨Query實(shí)現(xiàn)div橫向拖拽排序的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
基于ajax及jQuery實(shí)現(xiàn)局部刷新過程解析
這篇文章主要介紹了基于ajax及jQurey實(shí)現(xiàn)局部刷新過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
jquery實(shí)現(xiàn)類似淘寶星星評(píng)分功能有截圖
本節(jié)主要介紹了jquery實(shí)現(xiàn)類似淘寶星星評(píng)分功能,經(jīng)測(cè)試效果相當(dāng)不錯(cuò),有圖有真相,喜歡的朋友可以參考下2014-09-09
jQuery獲得頁面元素的絕對(duì)/相對(duì)位置即絕對(duì)X,Y坐標(biāo)
jQuery獲得頁面元素的絕對(duì)X,Y坐標(biāo),可以用offset()方法,下面有個(gè)不錯(cuò)的坐標(biāo)大家可以參考下2014-03-03
基于jQuery實(shí)現(xiàn)以手風(fēng)琴方式展開和折疊導(dǎo)航菜單
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)以手風(fēng)琴方式展開和折疊導(dǎo)航菜單的相關(guān)資料,需要的朋友可以參考下2016-01-01

