jQuery的设计模式有哪些
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"jQuery的设计模式有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"jQuery的设计模式有哪些"吧!一、发布订阅模式var
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
哪些数据库需要定期备份
刺激战场直播服务器怎么看
软件开发管理整套表格
南昌软件开发的培训
长沙高坪网络技术有限公司
平台管理服务器通用协议
广州数据库培训
智慧城市网络安全生产
郑州公众号小程序软件开发
数据库结构图er
微领地小蜜软件开发
石家庄灵盾网络技术有限公司
数据库物理设计的内容
中兴eda软件开发
分布式空间数据库名词解释
服务器安装虚拟声卡
网络安全宣传周2021年海报
淄博鲁信软件开发公司
中国网络安全教育平台登录
包装识别软件开发
sql数据库对象中最基本
网络安全宣传周金融科技
腾讯软件开发副总吴
信息化电脑网络安全培训
公安网络安全查摆剖析
江苏信息软件开发产品介绍
乐视有线电视静态连接服务器端口
rtk网络技术
为啥暖服务器
河南工业大学网络安全知识竞赛