大致说明JQuery源码研究说明

时代在发展技术也在提高,JQuery源码阵营里面出现了越来越多的优秀的框架,大大简化了我们的开发工作,在我们使用这些框架的时候是不是也应该饮水思源想想它们都是怎样构建起来的呢?

专注于为中小企业提供成都网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业久治免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

最近两天研究了一下JQuery源码,在这里将本人一些粗浅认识分享出来,不当之处请各位指正。好了,下面我们就来看看jQuery大概是怎样工作的,我假定你已经具备了一些基本的javascript知识,如果基础不够俺推荐你阅读《JavaScript高级程序设计》和《悟透JavaScript》这两本书。本文不适合对js里面的类、对象、函数、prototype等概念没有了解的朋友。#t#

我们从最开始的说起:
首先构造一个对象给使用者,假定我们这个框架叫 Shaka   ( 俺的名字;) var Shaka = function(){}; 这里我们创建了一个空函数,里面什么也没有,这个函数实际上就是我们的构造函数。为了让我们生成的对象能够调用在prototype里定义出来的方法。

我们需要用原型的方式(把Shaka当作是一个类)给Shaka添加一些方法,于是定义:
Shaka.fn =  Shaka.prototype = {}; 这里的Shaka.fn相当于Shaka.prototype的别名,方便以后使用,JQuery源码指向同一个引用。OK,我们添加一个sayHello的方法, 给Shaka添加一个参数,这样这个框架最基本的样子已经有了,如果它有生命的话那么它现在是1岁, 看代码:

 
 
  1.  
  2.  
  3.  http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  4.  
  5.  
  6.  type="text/javascript"> 
  7. var Shaka = function(age){ this.age = age; };  
  8. ShakaShaka.fn = Shaka.prototype = { sayHello: function() { alert('I am a little baby, my age is ' + this.age + ' years old.'); }};  
  9. var babyShaka = new Shaka(1);  
  10. babyShaka.sayHello();  
  11.  
  12.  
  13.  

好啦,先别激动, 我们注意到这个框架跟jQuery在使用上是有一些差别的, 比如在jq 中我们可以这样写jQuery('#myid').someMethod(); 这是怎样做到的呢, 也就是说 jQuery()这个构造函数返回了一个jQuery的对象实例,因此我们可以在上面调用它的方法,所以Shaka的构造函数应该返回一个实例,它看起来应该是这个样子。

var Shaka = function(){ return //返回Shaka的实例; }; 那么我们要如何取得一个Shaka的实例呢, 我们先来回顾一下使用prototype方式来模拟类的时候 var someObj = new  MyClass(); 这个时候实际上是创建一个新对象JQuery源码,把新对象作为this指针,调用 MyClass函数,即类的构造函数, 然后 someObj 就获得了在 MyClass.prototype里面定义的方法, 这些方法内的this指针指当前对象实例。

新闻名称:大致说明JQuery源码研究说明
浏览地址:http://www.shufengxianlan.com/qtweb/news24/3274.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联