本篇文章是本人前几天学到了几个设计思想后, 对 jQuery 的重新认识
学到了简单且很好的写代码风格
在此与大家分享, 如有不对请指正, 本人万分感谢!!!
jQuery 的链式操作
- 关于他的链式操作是最经典的
- 他是如何实现的? 我们来看一下
function jQuery (selector){ return { api(){ retrun this } } }- 上面的代码只是简易的实现一个链式调用,
jQuery('#test').api().api() - 是不是感觉 哎哟? 不错哦...
jQuery 的闭包
-
闭包造成的影响是变量无法被回收(这是IE的问题)
-
用闭包来隐藏一些细节, 比如:
-
function jQuery (selector){ let elements = document.querySelectorAll(selector) return { api(){ elements retrun this } } } -
api 里面就会用到 elements, 这样每次使用 elements是不一样的
-
这就是隐藏了一些细节
重载
- 我们的函数在接受参数的时候, 可能是字符串, 可能是选择器
- 根据传参的不同进行不同的处理就是 重载
利用原型
- 我们将公共的方法, 全都放在原型中
- 这样会节省我们的内存
适配器
-
jQuery 会判断不同的浏览器, 然后用不同的代码
-
我知道的是
document.all -
document.all 可以判断是否是 IE
其他小细节
-
jQuery 还重新命名为$, 这叫做 别名
-
他竟然没有使用 new 关键字
总结:
- 链式操作
- 闭包的活用
- 重载
- 利用原型
- 适配器
- 其他小细节, 竟然不用 new
这是本人学到的一些设计模式, 与大家在此分享一下, 谢谢大家的鼓励!!!
下面是本人仿造, 写的一个简单DOM库!!!