smartJQ基于 jQuery 的重构压缩库

联合创作 · 2023-09-22 03:41

什么是 smartJQ?

smartJQ 是 jQuery 的重构压缩版,在 jQuery API 的模型上,黑盒情况下制作的库;

兼容所有现代化的浏览器,因为不需要像 jQuery 一样对旧版本浏览器(IE10之前)兼容,所以体积小很多;

相对 zepto 的优势

我们通常会使用 zepto 来代替 jQuery 做移动开发,因为zepto体积更精简;但是 zepto 相对 jQuery 有很多的不足;

  • 特有的选择器的缺乏(:eq :odd :last 等等)

  • 事件和数据机制存在缺陷(api和 jQuery 有一定出入,例如clone没有提供深克隆等)

  • 缺乏 animate 方法(某些场景不能用 css3 animation 替代,例如滚动动画等)

插曲:作者本是想基于 jQuery 开发某个框架(不考虑ie的框架),但是 jQuery 太大,和在一起的大小超出预期;而 zepto 和 JSLite 的很多API存在缺陷,于是才有 smartJQ。

而 smartJQ 补充了上面的缺陷。

体积对比


smartJQ 的定位

smartJQ 的定位是 zepto 的替代品,和 zepto 是竞争关系,smartJQ 有的 zepto 不一定有,zepto 有的 smartJQ 做的比它更好;

smartJQ 和 jQuery 是互补关系;smartJQ 解决了 jQuery 的文件太大的问题,jQuery弥补了兼容性问题。

如果想要研究 jQuery 原理,可以来看看 smartJQ 源代码,没有兼容代码的累赘,相对代码量更少,核心代码少,灵活,通俗易懂;

smartJQ 的生成实例,是通过扩展 Array.prototype 达到 类jQuery 的实例化的效果,所以 smartJQ 生成的对象不仅能使用jQuery API提供的方法,也能使用Array原生提供的方法。(考虑兼容性还是不要当成Array类型使用)

smartJQ 兼容 IE10 及以上(Edge)。

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报