日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

您的WebApp真的需要jQuery吗?

發(fā)布時(shí)間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 您的WebApp真的需要jQuery吗? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先要承認(rèn)jQuery的強(qiáng)大魅力,是jQuery陪伴著我們度過桌面瀏覽器開發(fā)的每一天,它的使用輕巧人人皆知,這是桌面瀏覽器項(xiàng)目常用的主流框架之一。但是在移動(dòng)瀏覽器項(xiàng)目中,比如WebApp,你真的愿意引用這樣一個(gè)龐大且腫脹的前端框架么?你真的需要它么?其實(shí)你不需要,因?yàn)楝F(xiàn)在的高端移動(dòng)設(shè)備中的API已經(jīng)足夠了。

接下來我們談?wù)勀銘?yīng)該在移動(dòng)設(shè)備上放棄jQuery的理由。

為什么前端工程師需要在乎移動(dòng)設(shè)備上的前端框架?

眾所周知,移動(dòng)設(shè)備與固定裝置最明顯的一點(diǎn)不同是:帶寬的問題。在移動(dòng)設(shè)備上加載外部資源肯定要比固定裝置設(shè)備加載外部資源要緩慢的多。我們將問題引向前端框架,jQuery最新版本的min版本為77KB,僅這一點(diǎn)就需要前端工程師折衷。

jQuery中占了很大一個(gè)比重的則是Sizzle選擇器,這是一個(gè)兼容多平臺(tái)的javascript selector開源框架,但是在移動(dòng)設(shè)備中我們真的不需要這個(gè)Sizzle選擇器,另外一部分則是jQuery的動(dòng)畫類庫,這個(gè)也是兼容多平臺(tái)的動(dòng)畫類庫,但是在WebApp中,我們同樣不需要,我們需要CSS 3的translate和animation即可完成需求,最后一個(gè)算是jQuery的OOP了,這個(gè)完全不需要,開發(fā)者完全可以根據(jù)自己的專業(yè)技能封裝一套OOP的方法。

首先來看javascript selector

我們做DHTML網(wǎng)站通常情況也都是對DOM做操作,jQuery可以說是一個(gè)非常輕巧且功能強(qiáng)大的靈活操作DOM的JavaScript框架,你在使用jQuery操作DOM時(shí),就像是在玩魔術(shù)一樣的神奇,這也正是jQuery的設(shè)計(jì)初衷。

但是當(dāng)前你的用戶群是Iphone、Android、Ipad、Blackberry等等一些高端用戶時(shí),你不應(yīng)該為了使用選擇器而再引入這樣一個(gè)龐大的JavaScript框架,你應(yīng)該這樣做:

  • document.querySelector(DOM);??
  • querySelector是一個(gè)更容易、更快、更可靠的本地選擇器引擎。你也可以利用3行代碼封裝一個(gè)像jQuery那樣的函數(shù)來使用選擇器

  • function?$(query)?{?? ?
  • ?????return?document.querySelectorAll(query);?? ?
  • }??
  • 這里就有你喜歡的$,僅僅3行代碼就搞定了!你也許可能會(huì)問利用getElementById獲取DOM會(huì)更加的快,這很不錯(cuò)。getElementById方法獲取DOM確實(shí)快些,但是這個(gè)方法適用于頁面中元素較多的情況下,你才能夠感覺到它的快感,但是WebApp是不可能在同一張頁面中有很多元素的,它不會(huì)像Web產(chǎn)品一樣。所以在這里我不建議前端工程師為了這個(gè)感覺不到的快,而放棄使用querySelectorAll/querySelector而使用getElementById重新封裝。而且在實(shí)際的項(xiàng)目開發(fā)中,你也可以將獲取到的DOM保存在變量中,這樣也同樣減少了對DOM的訪問。

    DOMReady Function

    當(dāng)然,有些時(shí)候我們可能需要等待DOM加載完畢后才去執(zhí)行我們的function。jQuery有ready方法,我們同樣可以擁有自己我的ready方法。

  • function?ready?(fn)?{?? ?
  • ????document.addEventListener('DOMContentLoaded',?fn,?false);?? ?
  • }??
  • 所以的函數(shù)的都將在DOM元素加載完畢后,立刻執(zhí)行,這里不包括image|audio|video。

  • ready(function?(){?? ?
  • ????alert($('#demo')[0].innerHTML);?? ?
  • });??
  • 可能你已經(jīng)發(fā)現(xiàn)了,這樣的ready方法并不是很靈活。首先你不能夠卸載DOMContentLoaded事件,每調(diào)用ready方法,都會(huì)為document注冊DOMContentLoaded事件;其次當(dāng)DOM加載完畢后,僅僅執(zhí)行了一個(gè)函數(shù)的一次調(diào)用。這不是我們想要的,我們需要改進(jìn)它。

  • var?readyFuns?=?[];?? ?
  • function?DOMReady(){?? ?
  • ????for(var?i=0,l=readyFuns.length;i<l;i++){?? ?
  • ??????readyFun[i]();?? ?
  • ????}?? ?
  • ????readyFuns?=?null;?? ?
  • ????document.removeEventListener('DOMContentLoaded',DOMReady,false);?? ?
  • }?? ?
  • function?readyFun(fn){?? ?
  • ????if(readyFuns.length?==?0){?? ?
  • ???????document.addEventListener('DOMContentLoaded',DOMReady,false);?? ?
  • ????}?? ?
  • ????readyFuns.push(fn);?? ?
  • }??
  • 這樣貌似解決了我們以上的兩個(gè)問題。現(xiàn)在的DOMReady方法可以保證在DOM加載完畢后,一次執(zhí)行多個(gè)函數(shù),且支持卸載DOMContentLoaded事件。在WebApp中封裝一個(gè)domready方法,你無需考慮IE瀏覽器或其它的濟(jì)覽器,僅僅考慮WebKit內(nèi)核的瀏覽器即可,所以你可以使用一對removeEventListener和addEventListener。這兩個(gè)方法同樣也是W3C的標(biāo)準(zhǔn)方法,所以我們已經(jīng)覆蓋了jQuery的DOMReady50%的代碼。

    轉(zhuǎn)載于:https://www.cnblogs.com/fullhouse/archive/2011/12/16/2290068.html

    總結(jié)

    以上是生活随笔為你收集整理的您的WebApp真的需要jQuery吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲精品色午夜无码专区日韩 | 成人开心激情 | av伊人久久| 成年人91视频 | 美女隐私黄www网站动漫 | 永久黄色网址 | 超碰中文字幕 | 中文av免费观看 | 91性高潮久久久久久久 | 久久精品9 | 色九九视频| 亚洲免费资源 | 91麻豆免费视频 | 美女日批在线观看 | 午夜视频免费在线观看 | 亚洲无人区小视频 | jizz日本在线播放 | 久久狠狠高潮亚洲精品 | 五月天视频网 | 黄色网免费观看 | 国产在线999| 操欧美女人| 爽天天天天天天天 | 手机看片久久久 | 做爰视频毛片视频 | 亚洲丝袜在线观看 | 日本精品一二三 | 69福利网| www.黄色.| 亚洲天堂视频一区 | 国产精品一区二区三区免费视频 | 美女扒开腿让人桶爽原神 | 国产嫩草视频 | 老妇裸体性激交老太视频 | 99中文字幕在线观看 | 青青草精品视频 | 一区视频网站 | 天天插夜夜 | 欧美怡春院 | 超碰人人干 | 国产精成人品免费观看 | 亚洲av综合永久无码精品天堂 | 午夜综合 | 国内少妇精品 | 久久精品国产精品亚洲 | 成人毛片100免费观看 | 在线免费看黄网站 | 国产精品伦子伦 | 国产区av| 久久天| 欧美专区综合 | 久久国产精品免费视频 | 国产欧美一区二区精品忘忧草 | 国产日韩二区 | 亚洲天堂2021av | 国产高潮国产高潮久久久91 | 日韩视频一区二区三区在线播放免费观看 | 日本美女黄色一级片 | 黄色国产片 | 一区二区三区偷拍 | 国产一区二区91 | 性大片潘金莲裸体 | 免费无码毛片一区二区app | 黄色h视频| yes4444视频在线观看 | www.com污| 久久久久久日产精品 | 97在线观看视频免费 | 黄色av网站免费在线观看 | 日韩久久av| 五月天综合 | 97小视频 | 日本亚洲一区 | 日本一二区视频 | 国产一区二区免费电影 | 欧美成人久久久免费播放 | 亚洲伊人天堂 | 精品福利在线 | 欧美精品色呦呦 | 久久国产视频网 | 国产精品美女久久久网av | 国产精品久久久久久亚洲 | 美女久久久久 | 黄色爱爱视频 | 亚洲精品9999 | 一级黄色大片视频 | 亚洲欧美日韩精品永久在线 | aaa级黄色片 | 亚洲狼人色 | 国产网红主播精品av | 亚色在线观看 | 青青青国产在线 | 污片在线免费看 | 亚洲激情婷婷 | 97视频免费在线观看 | 国产精品丝袜一区二区 | 巨物撞击尤物少妇呻吟 | www.97超碰| 视频在线不卡 |