JavaScript前端有哪些輪子

前端有哪些輪子(不包括 Node 后端領(lǐng)域)//輪子的特點(diǎn)就是給別人用

  1. 標(biāo)準(zhǔn)庫的擴(kuò)充 //因?yàn)镴avaScript系統(tǒng)提供的庫,有些缺點(diǎn)
    1. underscore.js 擴(kuò)充了 Array 和 Object 相關(guān) API
    2. moment.js 擴(kuò)充了 Date
    3. bluebird.js / hax/my-promise 實(shí)現(xiàn)了 Promise
    4. async.js 模擬了 async 操作符
    5. es5shim 用 ES 3 語法部分實(shí)現(xiàn)了 ES 5 特性
    6. handlebars.js 實(shí)現(xiàn)模板字符串功能
  2. DOM 的擴(kuò)充
    1. jQuery.js 操作 DOM
    2. video.js 操作 video
    3. Fabric.js 操作 canvas
  3. UI 組件 //用戶界面
    1. 純 CSS 的 UI 組件庫,如 Bulma
    2. 大而全的 UI 框架(CSS + JS)桑包,如 Bootstrap、Element UI
    3. 垂直領(lǐng)域的 UI 組件
      1. 專門做輪播的 Swiper
      2. 專門做輸入提示的 typeahead.js
      3. 專門做文件上傳的 fine-uploader
      4. 專門做 3D 瓦片效果的 vanilla-tilt.js
      5. 專門做視差效果的 parallax.js
      6. 專門做數(shù)據(jù)可視化的 D3.js
      7. 專門做圖表的 echarts.js
      8. 專門做動(dòng)畫的 velocity.js
      9. 專門做粒子效果的 particle.js
      10. 專門做手勢(shì)識(shí)別的 hammer.js
  4. 編程思想類的輪子
    1. 實(shí)現(xiàn) MVC 思想的 backbone.js
    2. 實(shí)現(xiàn) MVVM 思想的 AngularJS 1 和 Vue 1
    3. 實(shí)現(xiàn) Virtual DOM 的 React 和 Preact
    4. 實(shí)現(xiàn)單向數(shù)據(jù)流(FLUX)思想的 Redux
    5. 實(shí)現(xiàn) Reactive 思想的 Rx.js
    6. 實(shí)現(xiàn) Rails 思想的 Ember.js
    7. 實(shí)現(xiàn)函數(shù)式思想的 Ramda

我們的重點(diǎn)

重點(diǎn)是 UI 組件芭商,因?yàn)?/p>

  1. 我們?nèi)粘9ぷ髦薪?jīng)常用到的就是 UI 組件
  2. UI 組件一般是由 HTML、CSS 和 JS 組成搀缠,把 UI 組件做好了铛楣,就能更好的做網(wǎng)頁
  3. UI 組件做起來更有趣,所有效果你都能用眼睛看到艺普,而做編程思想類簸州、DOM擴(kuò)充類組件可能過于抽象

原則

(內(nèi)部)分層原則:正交原則
(對(duì)外)封裝原則:面向接口編程

例子1,一個(gè) Tab 組件

新手思維:.show .hide
正交思維:JS 不要控制樣式歧譬,只切換狀態(tài)

http://js.jirengu.com/peluzeyuse/1/edit?html,css,js,output

例子2岸浑,一個(gè) sticky 組件

新手思維:用 JS 控制定位
正交思維:JS 不要控制樣式,只切換狀態(tài)

http://js.jirengu.com/wifulosojo/1/edit?html,js,output

例子3瑰步,一個(gè) Dialog 組件

注意面向接口編程

http://js.jirengu.com/lorinerade/1/edit?css,js,output

例子4矢洲,一個(gè) suggestion 組件

注意面向接口編程

http://js.jirengu.com/yoqaliyige/1/edit?css,js,output

例子5,一個(gè)輪播組件

注意正交原則和面向接口編程

http://js.jirengu.com/gujoqanaji/1/edit?css,js,output

無縫輪播:https://frankfang.github.io/slides-demo-2/
無縫的源碼中有一處 .offset() 是一個(gè)高級(jí)用法:

<figure style="box-sizing: border-box; display: inline-block; margin: 0px; max-width: 100%; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 253, 255);">[圖片上傳失敗...(image-f53498-1516872389448)]

<figcaption style="box-sizing: border-box; display: block; text-align: center;">圖片</figcaption>

</figure>

數(shù)據(jù)或狀態(tài)存儲(chǔ)在哪里

  1. 可以存在 DOM 上面(如何 data-id缩焦、class)读虏,缺點(diǎn):可能被同事覆蓋或修改
  2. 可以存在 JS 變量里

編程原則//即將貫穿你程序員的生涯

1.正交原則//前端css/html/JavaScript樣式,內(nèi)容,行為三者分離原則
比如說jQuery提供了.show可以展示css,這明顯是JavaScript操作了css,不要這樣做,同一功能,我們可以
2.面向接口編程
我們具體實(shí)現(xiàn)一個(gè)功能,首先想到的是,用戶如何調(diào)用代碼,而不是想著實(shí)現(xiàn)細(xì)節(jié)~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市袁滥,隨后出現(xiàn)的幾起案子盖桥,更是在濱河造成了極大的恐慌,老刑警劉巖题翻,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揩徊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)塑荒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門熄赡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袜炕,你說我怎么就攤上這事〕跫遥” “怎么了偎窘?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)溜在。 經(jīng)常有香客問我陌知,道長(zhǎng),這世上最難降的妖魔是什么掖肋? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任仆葡,我火速辦了婚禮,結(jié)果婚禮上志笼,老公的妹妹穿的比我還像新娘沿盅。我一直安慰自己,他們只是感情好纫溃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布腰涧。 她就那樣靜靜地躺著,像睡著了一般紊浩。 火紅的嫁衣襯著肌膚如雪窖铡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天坊谁,我揣著相機(jī)與錄音费彼,去河邊找鬼。 笑死口芍,一個(gè)胖子當(dāng)著我的面吹牛箍铲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鬓椭,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼虹钮,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了膘融?” 一聲冷哼從身側(cè)響起芙粱,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎氧映,沒想到半個(gè)月后春畔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年律姨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了振峻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡择份,死狀恐怖扣孟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荣赶,我是刑警寧澤凤价,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站拔创,受9級(jí)特大地震影響利诺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剩燥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一慢逾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灭红,春花似錦侣滩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赁项,卻和暖如春葛躏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背悠菜。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工舰攒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悔醋。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓摩窃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親芬骄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子猾愿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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

  • 前端有哪些輪子(不包括 Node 后端領(lǐng)域) 標(biāo)準(zhǔn)庫的擴(kuò)充underscore.js 擴(kuò)充了 Array 和 Ob...
    YQY_苑閱讀 496評(píng)論 0 0
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件账阻、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 少年不識(shí)愁滋味蒂秘,愛上層樓;愛上層樓淘太,為賦新詞強(qiáng)說愁姻僧。如今識(shí)盡愁滋味规丽,欲說還休;欲說還休撇贺,卻道天涼好個(gè)秋赌莺。 讀來淚目。
    單海閱讀 300評(píng)論 0 1
  • 如果一路以來從不后悔松嘶。
    蘋里果閱讀 243評(píng)論 0 0
  • 從今天開始的每一天 我已經(jīng)改變成為一個(gè)全新的人 我充滿了靈性和愛 我的全身充滿了力量和喜悅 我更加愛自己和周圍的一...
    marykay王曉曉閱讀 341評(píng)論 0 0