91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery的設計模式有哪些

發布時間:2021-11-10 10:48:55 來源:億速云 閱讀:160 作者:iii 欄目:web開發

這篇文章主要講解了“jQuery的設計模式有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“jQuery的設計模式有哪些”吧!

一、發布訂閱模式

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')

你會發現 $ 這個函數的參數可以是函數、字符串、元素和 jQuery 對象,甚至還能接受多個參數,這種重載是怎么做到的?

六、命名空間

// 你的插件在一個 button 上綁定了很多事件 $button.on('click.plugin', function(){...}) $button.on('mouseenter.plugin', function(){...}) // 然后你想在某個時刻移除以上所有事件 $button.off('.plugin')

如果你不用 jQuery 就很麻煩了。

七、高階函數

var fn2 = $.proxy(fn1, asThis, param1)

$.proxy 接受一個函數,返回一個新的函數。

其他就不一一列舉了。

jQuery 的 API 風格依然在流行

我們把 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 實在太好用了!搞得新庫根本沒法超越它,沒有辦法設計出更簡潔的 API 了。畢竟 jQuery  也是在前端界流行近十年。

所以你學了 jQuery 很容易過渡其他類似的新庫。

jQuery 也能做 MVC

很多人以為前端框架是從 Vue、React 和 Angular 才開始的,其實 jQuery 時代早就有基于 jQuery 的 MV* 庫了,比如著名的  Backbone.js 和 Marionette.js。

看看下面的 Backbone 應用代碼

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的設計模式有哪些”的內容了,經過本文的學習后,相信大家對jQuery的設計模式有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正镶白旗| 凤冈县| 闵行区| 玛沁县| 车险| 黔南| 祁连县| 河池市| 金湖县| 土默特左旗| 邢台县| 丰宁| 四会市| 东丰县| 普安县| 平泉县| 县级市| 瑞金市| 红河县| 石嘴山市| 伊川县| 汕头市| 通江县| 图木舒克市| 南城县| 青铜峡市| 桃园县| 康保县| 七台河市| 将乐县| 高阳县| 黄大仙区| 视频| 齐齐哈尔市| 阳高县| 西宁市| 安宁市| 临安市| 威信县| 石家庄市| 余庆县|