為什么
jQuery默認(rèn)提供的工具類有很多不足,所以我們針對以下內(nèi)容作了擴(kuò)展:
- 繼承相關(guān)的方法: extend,augment,mixin,merge,cloneObject
- 類型判斷:isFunction探熔,isArray论矾,isDate蠢正,isObject
數(shù)組
javascript提供的數(shù)組操作比較簡單,數(shù)組的增刪改操作比較難以使用,所以對常用操作做了封裝:
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
var array = [1,2,3,4];
BUI.Array.addAt(array,5,2); //[1,2,5,3,4]
BUI.Array.removeAt(array,2);//[1,2,3,4]
var array1 = [1,2,3,4];
BUI.Array.equals(array,array1);//true
BUI.Array.empty(array);
BUI.Array.equals(array,array1);//false
</pre>
表單
我們經(jīng)常進(jìn)行表單操作县匠,但是checkbox,radio等控件的獲取和設(shè)置比較麻煩媳友,以下是常見操作:
- 把整個(gè)表單格式化成為一個(gè)對象
- 把一個(gè)對象填充到表單中
- 設(shè)置表單的某個(gè)字段值
我們也提供了功能更加強(qiáng)大的表單控件斯议,建議直接使用表單控件
JSON
javascript提供的日期操作比較簡單,格式化日期醇锚、字符串轉(zhuǎn)換日期哼御、日期加減法使用的比較多,而且不易使用焊唬,所以對常用操作做了封裝:
示例
下面是一些簡單的示例:
日期幫助
javascript提供的日期操作比較簡單恋昼,格式化日期、字符串轉(zhuǎn)換日期赶促、日期加減法使用的比較多液肌,而且不易使用,所以對常用操作做了封裝:
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<script>
var str = '2012-01-01';
//轉(zhuǎn)成日期
var date = BUI.Date.parse(str); //
var date1 = BUI.Date.addDay(date,1); //2012-01-02
BUI.Date.addDay(date,-1); //2011-12-30
BUI.Date.format(date1,'/'); //2012/01/02
</script>
</pre>
JSON
jQuery 提供了parseJSON的方法鸥滨,但是未提供stringify的方法矩屁,此方法將對象轉(zhuǎn)換成字符串,同時(shí)我們也提供了looseParse的方法爵赵,將非標(biāo)準(zhǔn)的json字符串轉(zhuǎn)成Json
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<script>
var str = "{'a':'112','b':'2'}";
BUI.JSON.parse(str);//報(bào)錯(cuò)吝秕,轉(zhuǎn)換失敗
var obj = BUI.JSON.looseParse(str);//成功
BUI.JSON.stringify(obj); //{"a" : "112","b" : "2"}
</script>
</pre>
keyCode
控件進(jìn)行鍵盤操作時(shí),需要分辨鍵盤對應(yīng)的值空幻,數(shù)字方式非常不方便烁峭,所以我們提供了大量鍵盤常量
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<script>
var a = BUI.KeyCode.A;
BUI.KeyCode.TAB;
</script>
</pre>
瀏覽器檢測
jQuery 檢測瀏覽器版本的函數(shù)或者屬性非常難用,所以我們提供了方便的方式
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<script>
//檢測瀏覽器
if(BUI.UA.ie == 6){
//do some hack
}else{
}
</script>
</pre>
Cookie
cookie操作進(jìn)行字符串操作非常繁瑣秕铛,所以我們提供鍵值操作的簡單方法
示例
下面是一些簡單的示例:
<pre class="prettyprint linenums" style="padding: 8px; background-color: rgb(247, 247, 249); border: 1px solid rgb(225, 225, 232); margin-top: 8px; box-shadow: rgb(251, 251, 252) 40px 0px 0px inset, rgb(236, 236, 240) 41px 0px 0px inset; color: rgb(51, 51, 51); font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
- <script>
- BUI.use('bui/cookie',function(Cookie){
- //設(shè)置
- Cookie.set('a','a');
- //獲取
- Cookie.get('a');
- });
- </script>
</pre>