jquery 代码阅读 —— jquery.js

 

为了打通任通二脉,准备阅读jquery.js, 顺便写点注释

 从入口文件jquery.js中可以看出,jquery首先加载的是core.js,共加载了32个模块,封装在了jQuery中。

window.jQuery = window.$ = jQuery

其次查看核心代码阅读: core.js 

https://github.com/purejade/jquery/blob/master/src/core.js (参考github上代码)

jQuery 源码学习

基本知识准备

1. javascript 语法

2. 模块加载,define 或者 require

    - 利用AMD模式异步加载模块  

3. 常用函数,如apply、call,对象方法复用

4. prototype  

Core.js 源码

1. jQuery

3. jQueyr.fn 

2. jQuery.extend和jQuery.fn.extend

 

####

core.js中实现了jQuery对元素的获取

    jQuery = function( selector, context ) {

        return new jQuery.fn.init( selector, context );

    },

每次获取一个elem元素,都会重新生成。

 

jQuery.extend = jQuery.fn.extend函数实现,将有利于jQuery类进行插件扩展;其中jQuery.extend支持静态函数扩展,仅jQuery可用;而jQuery.fn.extend支持成员函数的扩展.

 

jQuery.extend扩展了jQuery常用的函数,如isNumeric,isWindow,isFunction,isPlainObject,isEmptyObject,type, globalEval,each,trim,makeArray,inArray,merge,map,grep etc...

 

根据jQuery对外提供的extend函数,可以对jQuery进行扩展,可以写一些需要的插件。

 

具体的格式为:

(function($){

    $.extend({})

}).(jQuery) 

posted @ 2016-03-03 16:37  purejade  阅读(316)  评论(0编辑  收藏  举报