日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
QWrap入門(mén)之a(chǎn)pps果實(shí)擴(kuò)展JS原生類

就像是一棵樹(shù)有很多果實(shí)一樣,QWrap也有很多apps,本文講解"擴(kuò)展JS原生類"的應(yīng)用,即apps/core_retouched.js(http://dev.qwrap.com/resource/js/apps/core_retouched.js)應(yīng)用。本應(yīng)用會(huì)對(duì)原生類進(jìn)行擴(kuò)展,方便用戶操作原生對(duì)象,例如:String、Array、Function等。

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站設(shè)計(jì)方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及白烏魚(yú)等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

本應(yīng)用的典型應(yīng)用場(chǎng)景:jquery專注于dom,所以欠缺原生對(duì)象的操作,以及模塊加載機(jī)制等。本庫(kù)恰好能提供,并且與jquery無(wú)沖突存在。

前面已有文章講過(guò)core/core_retouch.js,它是一個(gè)retouch文件。

而本文講的apps/core_retouched.js應(yīng)用,它是一個(gè)復(fù)合文件,它由以下文件組成:

 
 
 
  1. document.write('
  2. 日期是?
  • 時(shí)間是?
  • 上面的例子中,我們需要用到一個(gè)日期的格式化,但是這個(gè)jquery不會(huì)提供,因?yàn)閖query專注于dom,沒(méi)有提供日期格式化的意圖。

    而有的同學(xué)使用過(guò)prototype.js框架,已經(jīng)習(xí)慣了類似于“new Date().format()”、“str.trim()”這樣的原型用法,后來(lái)轉(zhuǎn)而使用jquery時(shí),就覺(jué)得少了很多方法。

    而QWrap的core_retouched應(yīng)用,恰恰是"擴(kuò)展JS原生類",專門(mén)就是提供這類應(yīng)用的。

    好的,我們看一下,core_retouched提供了哪些便利:

    字符串相關(guān)

    s.byteLen() //獲取字節(jié)長(zhǎng)度

    s.camelize() //駝峰化

    s.contains(subStr) //判斷一個(gè)字符串是否包含另一個(gè)字符串

    s.dbc2sbc() //全角轉(zhuǎn)半角

    s.decamelize() //反駝峰化

    s.decode4Html() //為html作轉(zhuǎn)碼

    s.encode4Html() //為html作解碼

    s.encode4HtmlValue() //為htmlValue作轉(zhuǎn)碼

    s.encode4Http() //為http作轉(zhuǎn)碼

    s.encode4Js() //為js作轉(zhuǎn)碼

    s.evalExp(opts) //eval一個(gè)表達(dá)式

    s.evalJs(opts) //eval語(yǔ)句

    s.format(arg0) //字符串格式化 //一個(gè)常用的功能

    s.mulReplace(arr) //多重update

    s.stripTags() //去除tag內(nèi)容

    s.subByte(len, tail) //按字節(jié)長(zhǎng)度截取 //這個(gè)在前端截取字符串時(shí)很有用,所有的洋框架都沒(méi)提供這個(gè)方法。

    s.tmpl(opts) //字符串模板 //字符串模板是一個(gè)很實(shí)用的功能,后來(lái)jquery也加上了。

    s.trim() //去兩端空格

    數(shù)組相關(guān):

    Array.toArray(arr) //將一個(gè)ArrayLike對(duì)象轉(zhuǎn)化成Array對(duì)象

    arr.clear() //清空一個(gè)數(shù)組

    arr.contains(obj) //判斷數(shù)組中是否包含某對(duì)象

    arr.every(callback, pThis) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.expand() //將一個(gè)深層數(shù)組展開(kāi)一層

    arr.filter(callback, pThis) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.forEach(callback, pThis) //按標(biāo)準(zhǔn)擴(kuò)展 //有不少庫(kù)都提供類似的功能,QWrap提供的與標(biāo)準(zhǔn)基本兼容

    arr.indexOf(obj, fromIdx) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.lastIndexOf(obj, fromIdx) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.map(callback, pThis) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.reduce(callback, initial) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.reduceRight(callback, initial) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.remove(obj) //從數(shù)組中移除某元素

    arr.some(callback, pThis) //按標(biāo)準(zhǔn)擴(kuò)展

    arr.unique() //數(shù)組元素除重

    arr.union(arr2) //數(shù)組求并集

    arr.intersect(arr2) //數(shù)組求交集

    日期相關(guān)

    d.format(pattern) //日期格式化

    函數(shù)相關(guān)

    Function.bind(func, thisObj) //按標(biāo)準(zhǔn)擴(kuò)展

    Function.methodize(func, attr) //靜態(tài)函數(shù)方法化

    Function.mul(func, opt) //讓方法的第一個(gè)參數(shù)可以是數(shù)組

    Function.createInstance(class) //按標(biāo)準(zhǔn)擴(kuò)展

    Function.extend(class, p) //類繼承 //各個(gè)庫(kù)實(shí)現(xiàn)的類繼承千差萬(wàn)別,本實(shí)現(xiàn)由月影與好奇提供。

    對(duì)象相關(guān)

    Object.isArray(obj) //判斷對(duì)象是否是數(shù)組

    Object.isArrayLike(obj) //判斷對(duì)象是否是ArrayLike

    Object.isElement(obj) //判斷對(duì)象是否是html元素

    Object.isFunction(obj) //。。。

    Object.isObject(obj) //。。。

    Object.isPlainObject(obj) //。。。

    Object.isString(obj) //。。。

    Object.dump(obj, props) //輸出指定屬性

    Object.fromArray(obj, keys, values) //按keys與values來(lái)擴(kuò)充對(duì)象

    Object.get(obj, prop, nullSensitive) //強(qiáng)get //某些情況下,可以用ObjectH.get(obj,'a.b.c.d')來(lái)代替obj.a && obj.a.b && obj.a.b.c && obj.a.b.c.d

    Object.keys(obj) //獲取keys

    Object.map(obj, fn, thisObj) //參考array的map,實(shí)現(xiàn)Object的map

    Object.mix(des, src, override) //mixin

    Object.set(obj, prop, value) //強(qiáng)set

    Object.stringify(obj) //序列化 //stringify向JSON.stringify靠齊,不過(guò)不支持第二個(gè)參數(shù)

    Object.values() //獲取values

    上面選了幾個(gè)有點(diǎn)特色的功能加上了鏈接,不妨花兩分鐘時(shí)間看一眼。----每一個(gè)都很有意義,篇幅有限,無(wú)法詳細(xì)介紹,可以自行圍觀。

    具體的功能,參見(jiàn)上面的鏈接,這里不用一一贅述。

    另,與apps/core_retouched.js對(duì)應(yīng)的幫助文件,參見(jiàn)有啊版幫助文件中左側(cè)目錄樹(shù)的"JS原生對(duì)象擴(kuò)展"這個(gè)節(jié)點(diǎn)下的內(nèi)容。

    apps/core_retouched.js經(jīng)YUI壓縮后大小為17K??梢元?dú)立放心使用。

    附:QWrap博客地址:http://www.qwrap.com

    原文:http://www.cnblogs.com/jkisjk/archive/2011/04/21/qwrap_apps_core_retouched.html


    分享題目:QWrap入門(mén)之a(chǎn)pps果實(shí)擴(kuò)展JS原生類
    分享地址:http://www.5511xx.com/article/cdhspos.html