BUI基礎(chǔ)-工具類

為什么

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;">

  1. var array = [1,2,3,4];

  2. BUI.Array.addAt(array,5,2); //[1,2,5,3,4]

  3. BUI.Array.removeAt(array,2);//[1,2,3,4]

  4. var array1 = [1,2,3,4];

  5. BUI.Array.equals(array,array1);//true

  6. BUI.Array.empty(array);

  7. 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;">

  1. <script>

  2. var str = '2012-01-01';

  3. //轉(zhuǎn)成日期

  4. var date = BUI.Date.parse(str); //

  5. var date1 = BUI.Date.addDay(date,1); //2012-01-02

  6. BUI.Date.addDay(date,-1); //2011-12-30

  7. BUI.Date.format(date1,'/'); //2012/01/02

  8. </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;">

  1. <script>

  2. var str = "{'a':'112','b':'2'}";

  3. BUI.JSON.parse(str);//報(bào)錯(cuò)吝秕,轉(zhuǎn)換失敗

  4. var obj = BUI.JSON.looseParse(str);//成功

  5. BUI.JSON.stringify(obj); //{"a" : "112","b" : "2"}

  6. </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;">

  1. <script>

  2. var a = BUI.KeyCode.A;

  3. BUI.KeyCode.TAB;

  4. </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;">

  1. <script>

  2. //檢測瀏覽器

  3. if(BUI.UA.ie == 6){

  4. //do some hack

  5. }else{

  6. }

  7. </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;">

  1. <script>
  2. BUI.use('bui/cookie',function(Cookie){
  3. //設(shè)置
  4. Cookie.set('a','a');
  5. //獲取
  6. Cookie.get('a');
  7. });
  8. </script>

</pre>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末约郁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子但两,更是在濱河造成了極大的恐慌鬓梅,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谨湘,死亡現(xiàn)場離奇詭異绽快,居然都是意外死亡芥丧,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門坊罢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來续担,“玉大人,你說我怎么就攤上這事活孩∥镉觯” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵憾儒,是天一觀的道長询兴。 經(jīng)常有香客問我,道長起趾,這世上最難降的妖魔是什么诗舰? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮阳掐,結(jié)果婚禮上始衅,老公的妹妹穿的比我還像新娘冷蚂。我一直安慰自己缭保,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布蝙茶。 她就那樣靜靜地躺著艺骂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隆夯。 梳的紋絲不亂的頭發(fā)上钳恕,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機(jī)與錄音蹄衷,去河邊找鬼忧额。 笑死,一個(gè)胖子當(dāng)著我的面吹牛愧口,可吹牛的內(nèi)容都是我干的睦番。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼耍属,長吁一口氣:“原來是場噩夢啊……” “哼托嚣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厚骗,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤示启,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后领舰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夫嗓,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迟螺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啤月。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煮仇。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谎仲,靈堂內(nèi)的尸體忽然破棺而出浙垫,到底是詐尸還是另有隱情,我是刑警寧澤郑诺,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布夹姥,位于F島的核電站,受9級特大地震影響辙诞,放射性物質(zhì)發(fā)生泄漏辙售。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一飞涂、第九天 我趴在偏房一處隱蔽的房頂上張望旦部。 院中可真熱鬧,春花似錦较店、人聲如沸士八。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婚度。三九已至,卻和暖如春官卡,著一層夾襖步出監(jiān)牢的瞬間蝗茁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工寻咒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哮翘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓毛秘,卻偏偏與公主長得像饭寺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子熔脂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容