您现在的位置是:首页 > web开发 > jQuery源代码 框架分析

jQuery源代码 框架分析

web开发作者:dayu日期:11天前点击:5
function jQuery() {} //使用字面量的方式创建原型对象,这里{}就是对象,是Object,new Object就相当于{} jQuery.fn = jQuery.prototype = { constructor : jQuery, //强制指向jQuery name : ‘Lee‘, age : 100, run : function () { return this.name + this.age + ‘执行中...‘; } }; jQuery.extend = jQuery.fn.extend = function(){ var option = arguments[0] ; for(var v in option){ this[v] = option[v]; } return this; }; var jquery = new jQuery(); document.write("<p style=‘color:blue‘>"+jQuery.extend({ add:function(){ alert("aaaa"); } })+"</p>"); document.write("<p style=‘color:blue‘>"+jQuery.fn.extend({ minu:function(){ alert("bbbb"); } })+"</p>"); jQuery.add(); jquery.minu();this打印结果

function jQuery() {}

[object Object]


在构造函数那个模块我们看到

jQuery .extend 的this 是jQuery类本身。在jQuery类上加入(对象。方法)

jQuery.fn.extend 的this是jQuery的原型,在jQuery原型上加入(对象,方法),那么JQuery对象本身也会具有哪些方法

jQuery.fn = jQuery.prototype

四、来一个简化版的

 1 var _deepClone = function(source){
 2     if(source===null) return null;
 3     var result;
 4     if(source instanceof Array){
 5         result = [];
 6         //假设是数组。递归调用
 7         for(var i = 0;i<source.length;i++){
 8             result[i] = _deepClone(source[i]);
 9         }
10         return result;
11     }else if(source instanceof Object){
12         //假设是对象。递归调用
13         result = {};
14         for(var name in source){
15             result[name] = _deepClone(source[name]);
16         }
17         return result;
18     }
19     else{
20         return source;
21     }
22 };
技术分享



jQuery源代码 框架分析

原文地址:http://www.cnblogs.com/slgkaifa/p/7226972.html


下一篇       上一篇