這篇文章主要講解了“jQuery的設(shè)計模式有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“jQuery的設(shè)計模式有哪些”吧!
成都創(chuàng)新互聯(lián)公司主營棗強(qiáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),棗強(qiáng)h5重慶小程序開發(fā)搭建,棗強(qiáng)網(wǎng)站營銷推廣歡迎棗強(qiáng)等地區(qū)企業(yè)咨詢
var eventHub = $({}) eventHub.on('xxx', function(){ console.log('收到') }) eventHub.trigger('xxx')
$.fn.modal = function(){ ... } $('#div1').modal()
Vue 2 的插件也是類似的思路哦
$('div').on('click', 'span', function(){...})
說實話,你在 2018 年找前端讓他寫一個事件委托,我保證 90% 寫出來的代碼都是有「明顯」bug 的。
$('div').text('hi').addClass('red').animate({left: 100})
$(fn) $('div') $(div) $($(div)) $('span', '#scope1')
你會發(fā)現(xiàn) $ 這個函數(shù)的參數(shù)可以是函數(shù)、字符串、元素和 jQuery 對象,甚至還能接受多個參數(shù),這種重載是怎么做到的?
// 你的插件在一個 button 上綁定了很多事件 $button.on('click.plugin', function(){...}) $button.on('mouseenter.plugin', function(){...}) // 然后你想在某個時刻移除以上所有事件 $button.off('.plugin')
如果你不用 jQuery 就很麻煩了。
var fn2 = $.proxy(fn1, asThis, param1)
$.proxy 接受一個函數(shù),返回一個新的函數(shù)。
其他就不一一列舉了。
jQuery 的 API 風(fēng)格依然在流行
我們把 jQuery 和 Axios 做一下對比:
$.ajax({url:'/api', method:'get'}) $.get('/api').then(fn1,fn2) axios({ url: '/api', method: 'get'}) axios.get('/api').then(fn1, fn2)
為什么 2018 年流行的 axios 跟 jQuery.ajax 這么相像呢?
因為 jQuery 的 API 實在太好用了!搞得新庫根本沒法超越它,沒有辦法設(shè)計出更簡潔的 API 了。畢竟 jQuery 也是在前端界流行近十年。
所以你學(xué)了 jQuery 很容易過渡其他類似的新庫。
jQuery 也能做 MVC
很多人以為前端框架是從 Vue、React 和 Angular 才開始的,其實 jQuery 時代早就有基于 jQuery 的 MV* 庫了,比如著名的 Backbone.js 和 Marionette.js。
看看下面的 Backbone 應(yīng)用代碼
var TodoView = Backbone.View.extend({ tagName: 'div', template: _.template($('#item-template').html()), events: { 'click .toggle': 'xxx', }, initialize: function () { this.listenTo(this.model, 'change', this.render); }, render: function () { if (this.model.changed.id !== undefined) {return; } this.$el.html(this.template(this.model.toJSON())); return this; } });
感謝各位的閱讀,以上就是“jQuery的設(shè)計模式有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對jQuery的設(shè)計模式有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
本文題目:jQuery的設(shè)計模式有哪些
網(wǎng)站網(wǎng)址:http://chinadenli.net/article26/ppsecg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、Google、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站制作、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)