jQuery原理(一)

1 jQuery库形式:(function(window,undefined){ })(window);

是一个闭包形式,作用:为了避免和别的框架冲突;
window的作用:(1)把内部的变量传递出去给外部使用;(2)压缩代码
undefined的作用:(1)传入undefined进来防止修改;(2)用来压缩代码

2.jQuery结构

(function(window,undefined){
    //工厂方法,用于创建jQuery实例
    var jQuery = function(selector){
        return new jQuery.fn.init(selector);
    };
    //设置原型对象
    jQuery.prototype = {
        constructor:jQuery,
        init:function(selector){

            /**
            *判断参数的类型
            */
        }
    }

})(window);
//设置jQuery的原型对象为fn
jQuery.fn = jQuery.prototype;
//设置init的原型对象为jQuery的原型对象
jQuery.fn.init.prototype = jQuery.fn;
//通过window把jQuery传递出去
window.jQuery = window.$ = jQuery;

/**因为jQuery中有很多函数,所以要对其分类,一般使用extend来扩展方法*/

jQuery.extend = jQuery.fn.extend = function(obj){
    for(var key in obj){
        this[key] = obj[key];
    }
}
//可以通过jQuery函数扩展方法(静态方法),也可以通过jQuery的原型对象扩展方法(动态方法)

/**抽取函数的原则:
* 如果可以抽取成静态方法,就抽取成静态方法,静态方法调用方便而且效率高
* 
* 注意:只有当前的方法没有使用当前对象的一些属性的时候才可以抽取成静态方法
* 
*/
jQuery.extend({
/**
*判断参数的类型
*/
})  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,222评论 0 1
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,422评论 0 2
  • @转自GitHub 介绍js的基本数据类型。Undefined、Null、Boolean、Number、Strin...
    YT_Zou阅读 1,234评论 0 0
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,051评论 24 450
  • 上次进山在山顶找块石头就趴着看风景,确实很浪漫,但是这份浪漫是还有代价的,山顶的凉风加上大石头的阴凉,导致阿黑它感...
    说书客阅读 177评论 2 0