成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

jQuery老矣,尚能飯否

韓冰 / 2532人閱讀

摘要:后現(xiàn)代的已經(jīng)到了暮年,該退出瀏覽器的舞臺了嗎體積過大很多人詬病體積很大,占用資源很多,但是讓我們來看一下最新的的大小。因為這就是個人寫代碼能力的問題了。。。。隨著時代的發(fā)展,的市場占有率是越來越少,以后會不會完全被拋棄,這我不知道。


作者:陳大魚頭

github: KRISACHAN

發(fā)展歷程

write less, do more -- John Resig

? 在2005年8月的某一天,有一位叫John Resig的美(guo)人,在blog上連發(fā)3個栗子公開懟了PrototypeBehaviour的代碼冗長,在那之后沒多久就開源了風(fēng)靡全球的利器JQuery,還兼容了IE5.5,解決了開發(fā)者兼容性處理的心頭大患,之后JQuery就一發(fā)不可收拾,很快就統(tǒng)一了整個瀏覽器世界...

? 隨著時代的發(fā)展、各個瀏覽器逐漸趨向統(tǒng)一以及node的出現(xiàn),興起了許多現(xiàn)代化的工具,例如:react, vue, angularjs,webpack,gulp等可以解放開發(fā)者雙手,加快開發(fā)效率的庫與框架;并且瀏覽器端的API也日漸完善,ES6改革性的出現(xiàn),JQuery的代替方案變得越來越多,也因此對JQuery不滿甚至要完全廢棄JQuery的聲音也越來越多。

后現(xiàn)代的JQuery

JQuery已經(jīng)到了暮年,該退出瀏覽器的舞臺....了嗎?

體積過大?

? 很多人詬病JQuery體積很大,占用資源很多,但是讓我們來看一下最新的JQuery.min.js的大小。

事實上,最新的JQuery壓縮完之后也就85KB,這點開銷,在現(xiàn)代設(shè)備中都不是什么問題,移動設(shè)備4G甚至可以達到數(shù)MB每秒,PC端就更不用說了,所以說JQuery體積多大,占用多大資源這一條在一般情況下是不成立的!

DOM操作很麻煩?

有人說,dom操作太麻煩,還是用MV**框架直接操作數(shù)組來得快一些....

? 現(xiàn)在github已經(jīng)移除了JQuery的依賴,但是并沒有使用任何現(xiàn)代化框架,而是用原生JS去進行了重構(gòu),我個人認為,JQuerygithub移除不能說明JQuery不中用了,只能說明是瀏覽器端API以及ECMAScript已經(jīng)日漸完善了。

? 對于常規(guī)的DOM增刪改查,在MV**里只需要操作數(shù)組,是比較方便,但是在JQuery里我們也可以用操作數(shù)據(jù)的思維去實現(xiàn),封裝好要處理的DOM結(jié)果,用觀察者模式去監(jiān)聽數(shù)據(jù)源的變動從而更改DOM不一樣也可以很快嘛?

面條式代碼很丑?

一長串的鏈式調(diào)用,看著就很煩

? 這鍋,JQuery是不背的。。。因為這就是個人寫代碼能力的問題了。。。。具體代碼就不寫了,在下面兩節(jié)中大家自己判斷吧......

跨域處理的優(yōu)勢

JQuery在跨域中發(fā)揮的作用

? 現(xiàn)代化的前后端協(xié)作通常都會以跨域的方式進行,一般方式都是CORS了,后端開好權(quán)限,按AJAX的方式去請求,真香~

? 但是,如果在一些不得已要用JSONP的場合,例如第三方SDK使用,現(xiàn)代的框架處理起來就比較難受了,這里用JQuery就很方便了

const getJSON = async () => {
    try {
        const res = await $.ajax({
            url,
            dataType: "jsonp",
            jsonp: "cb",
        });
    } catch (error) {
        // do something;
    };
};

? 單純地用ES6 + JQuery也是可以很好的完成任務(wù)

動畫處理

JQuery在動畫處理上也發(fā)揮了很大的作用

? 雖然現(xiàn)在很多人寫動畫會用CSS3的屬性,Web Animations API或者JSON去寫,但是如果要寫一些step的動畫,用JQuery也是很好的選擇

const step1 = () => $.when(
    dom1.animate({
        left,
        top
    }, delay),
    dom2.animate({
        width,
        height
    }, delay)
).promise();

const step2 = () => $.when(
    dom1.animate({
        left,
        top
    }, delay),
    dom2.animate({
        width,
        height
    }, delay)
).promise();

const move = async () => {
    await step1();
    dom1.delay(500);
    await step2();
};

? 其實這樣也可以把動畫寫得很好看

后記

在我心里,JQuery永遠是個王者

? 我對技術(shù)沒有偏見,不管是JQuery也好,原生JS也好或者層出不窮的框架,都是工具,只要能好好的完成任務(wù)就是好技術(shù)。

? 隨著時代的發(fā)展,JQuery的市場占有率是越來越少,以后會不會完全被拋棄,這我不知道。只是JQuery代表的是一個時代,是瀏覽器發(fā)展的見證者,也是我心目中的王者,雖然我以后也很有可能會完全棄用它,但是它在我心目中的地位是不變的!

? JQuery,榮耀!



如果你、喜歡探討技術(shù),或者對本文有任何的意見或建議,你可以掃描下方二維碼,關(guān)注微信公眾號“魚頭的Web海洋”,隨時與魚頭互動。歡迎!衷心希望可以遇見你。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/6865.html

相關(guān)文章

  • 每日 30 秒 ? H1 の 小秘密

    showImg(https://segmentfault.com/img/remote/1460000018747727?w=900&h=500); 簡介 heading 標簽、SEO、無障礙閱讀 ps: 內(nèi)容有點多,本來只想講一個點,但是關(guān)聯(lián)性太強了,所以辛苦大家了。 在學(xué)習(xí) HTML 標簽的時候,很多教程只告訴你 怎么用 而沒有講清楚 是什么,讓我們一起從 h1 到 h6 開始重新認識 HTM...

    blastz 評論0 收藏0
  • Jquery ajax, Axios, Fetch區(qū)別之我見

    摘要:我們都知道因為同源策略的問題,瀏覽器的請求是可能隨便跨域的一定要有跨域頭或者借助,但是,中可以設(shè)置為不跨域,如下所示這樣之后我們會得到一個為的返回。 免費幫忙內(nèi)推阿里等各大IT公司的崗位,有興趣可以帶簡歷加微信angeltune 引言 前端技術(shù)真是一個發(fā)展飛快的領(lǐng)域,我三年前入職的時候只有原生XHR和Jquery ajax,我們還曾被JQuery 1.9版本版本以下不支持大文件請求這個...

    YanceyOfficial 評論0 收藏0
  • 【董天一】一場IPFS引領(lǐng)下的共享之風(fēng)正在走向區(qū)塊鏈

    摘要:網(wǎng)絡(luò)啟動開啟了一個共享的新時代,與實體經(jīng)濟的結(jié)合讓項目變得更加有意義,區(qū)塊鏈已經(jīng)走向了我們。直到年,互聯(lián)網(wǎng)和區(qū)塊鏈終于從概念上走到了一起,就是這場流行起來的共享之風(fēng)。風(fēng)險當然,伴隨著區(qū)塊鏈項目的毫無疑問是高風(fēng)險如影隨形。 作者簡介:董天一 ,IPFS/Filecoin中國區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國)數(shù)據(jù)庫開發(fā)工程師...

    褰辯話 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<