模拟一个自己的jquery(一) 为什么要模拟一个Jquery

为什么想到模拟一个自己的jquery

jquery在中国应该是最流行的js库吧,我在2个小公司呆过,很多同事(主要是.net web开发同学,还有美工同学)包括我自己,从一开始根本不知道原生js怎么写,就开始使用jquery做一些简单的界面交互。可见jquery多容易入门。

个人认为jquery能够这么火的原因有几点

  1. 基于css的强大选择器,直接拉拢了一大堆设计人员。
  2. 跨浏览器兼容,跨浏览器一直是前端的噩梦,jquery提供了一个统一的接口,开发人员只需要调用接口就行了根本不需要关心兼容性问题。
  3. 易用的api以及链式调用,都极大了方便了用户使用,减少了代码量。
  4. 大量的第三方插件,根本功能不需要自己开发,网上一抓一大把。
  5. 文档齐全,大量中文资料,中文图书。

怎么想到自己写一个jquery

.net开发大多都应该使用过jquery吧(vs自带了jquery,.net mvc的客户端验证也是基于jquery)。我从毕业上班开始就使用jquery,因为当时项目需要,就看了一本jquery基础教程,就成了团队里面js比较“厉害”的了(当时大家都是写asp.net的对js不感冒)。

这两年随着html5与css3的普及,前端突然变的重要起来,js作为前端必学的技术之一也是发展迅速。一时间前端mvc框架、模板技术、模块开发等后端才有的概念都出现了js版,顿时我觉得后悔起来,当初没有专研js。

前几天想要提升一下js,但是怎么提升呢,最终决定看一些js库。而我用的最多的,最熟悉的就是Jquery了,而且对jquery也很感兴趣,然后下载了最新Jquery2.x,打开源码一看眼就直了,代码太多而且js文件不能像c#代码一样转到定义。再加上自己能力不足,暂时放弃了直接读取源码的想法。转而决定自己写一个简单的jquery,写到一定程度再去查看jquery的实现跟自己有什么不同,这样岂不是更有助于自己的提高。

难点

  1. 首先想到的是选择器,要我自己实现一个选择器自认为困难太大,需要补充的知识太多,于是决定采用现成的,Jquery的选择器Sizzle已经独立了出来,正好可以拿来用。
  2. 性能问题,决定暂时不太考虑这个,先自己实现然后对照Jquery。
  3. 自己前端太弱,船到桥头自然直,边写边学吧。

框架前期相关杂想

  1. 框架名称 :mquery(名字带有一个m - -)

  2. 编辑工具:sublime  (网上说是前端编辑器神器,下下来试了一下很不错,插件多多,适合写纯js) 至于为什么不用vs主要vs不太合适光写js,主要是启动速度太慢,占电脑资源多。
  3. 是否使用require.js等模块定义工具库: 暂时不使用,因为不熟悉模块化,以后再加上去也很容易。貌似jquery就是这样的。
  4. 是否使用前端模板:要使用,但是暂时不太懂,需要到时候学习。
原文地址:https://www.cnblogs.com/xiaopi/p/3615520.html