jQuery的设计模式有哪些
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,这篇文章主要讲解了"jQuery的设计模式有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"jQuery的设计模式有哪些"吧!一、发布订阅模式var
千家信息网最后更新 2024年09月24日jQuery的设计模式有哪些
这篇文章主要讲解了"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的设计模式有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
函数
模式
设计
设计模式
事件
前端
插件
学习
代码
内容
参数
思路
委托
明显
相像
简洁
著名
一一列举
说实话
不用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
enspserver服务器配置
hp服务器esxi
网络安全专业和机械类哪个好
华为 消费者BG软件开发
网络安全在身边直播活动观后感
冶金专业常用数据库
it数据库的特点
吉林省网络安全宣传周线上平台
杭州打造智慧社区软件开发
天基互联网振华科技
小米手机出现提示已连接服务器
数据与网络安全自查
数据库查询位数少于7位
服务器电源怎样固定在机箱
百度云轻量级服务器安全组
服务器被锁定怎么备份
图书在线编目数据库
广东交友软件开发
服务器logs文件夹是什么意思
宝山区营销软件开发咨询热线
数据库日期格式取年月
数据库安全问题
网络安全工程师需要学习哪些
大连数据库培训哪家好
湖北超频服务器欢迎选购
化学研发 大数据库
惠普服务器硬件管理口叫什么
软件开发人员外派价钱
联众his数据库结构
成都直播软件开发公司哪家强