jquery源码解读

jquery源码解读

ID:20108538

大小:911.98 KB

页数:25页

时间:2018-10-09

jquery源码解读_第1页
jquery源码解读_第2页
jquery源码解读_第3页
jquery源码解读_第4页
jquery源码解读_第5页
资源描述:

《jquery源码解读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、jQuery源码解读背景帮助大家理解jQuery的基本运作方式,使具备jQuery及相关插件源码的基本阅读能力。以了解js基本语法和面向对象概念为前提编写。2021/8/2AskForMore——渴望无限2Javascript面向对象JQuery中大量用到了面向对象的概念,在学习jQuery源码之前,必须先了解javascript如何实现面向对象。2021/8/2AskForMore——渴望无限3定义一个类2021/8/2AskForMore——渴望无限4这里class1既是一个函数也是一个类。作为函数,它可以理解为类的构造函数,负责初始化的工作。functionclass

2、1(){//类成员的定义及构造函数}获得一个类的实例2021/8/2AskForMore——渴望无限5所有的函数都可以用new来操作,在JavaScript中,函数和类就是一个概念,当new一个函数时,就会返回一个对象。varobj1=newclass1();匿名函数2021/8/2AskForMore——渴望无限6第一个括号表示这是一个匿名函数。(function(window,undefined){})(window);最后一个括号表示用参数window立即运行此函数。无类型对象2021/8/2AskForMore——渴望无限7JavaScript中的对象其实就是属性(

3、方法)的一个集合,并没有严格意义的类的概念。所以它提供了另外一种简单的方式来创建对象。{property1:statement,property2:statement2,…,propertyN:statmentN}引用对象的静态属性和方法2021/8/2AskForMore——渴望无限8对象名[“属性(方法)名”]vararr=newArray();//为数组添加一个元素arr[“push”](“abc”);//获得数组的长度varlen=arr[“length”];//输出数组的长度alert(len);两种等价的引用形式对象名.属性(方法)名vararr=newArra

4、y();//为数组添加一个元素arr.push(“abc”);//获得数组的长度varlen=arr.length;//输出数组的长度alert(len);静态属性(方法)的动态添加、修改和删除2021/8/2AskForMore——渴望无限9user.name=”jack”;添加、修改属性user.alert=function(){alert(“mynameis:”+this.name);}user.name=undefined;user.alert=undefined;删除属性和方法添加、修改方法prototype对象2021/8/2AskForMore——渴望无限10

5、functionclass1(){}//定义object的实例方法。class1.prototype.method=function(){alert("method");}varobject1=newclass1();object1.method();//覆盖class1对象的成员定义。class1.prototype={prop:"prop"};//重新实例化对象才可使用prop属性。object1=newclass1();//重新实例化的对象没有method方法。//object1.method();alert(object1.prop);prototype表示一个类的

6、成员集合,当类被实例化时,当前prototype对象所有成员都将赋给该实例化对象,成为该对象的非静态属性或方法,且不受之后prototype对象变化的影响。Function对象2021/8/2AskForMore——渴望无限11functionmyFunction(a,b){returna+b;}varmyFunction=newFunction("a","b","returna+b");函数的本质是一个内部对象functionalert(typeof(Function));alert(typeof(newFunction()));alert(typeof(Array));

7、objectalert(typeof(newArray()));Function的隐含参数arguments2021/8/2AskForMore——渴望无限12arguments对象存储了实际传递给函数的参数,它并不是一个数组对象,但是具有数组一样的访问性质,可以用arguments[index]这样的语法取值,拥有数组长度属性length。arguments对象的另一个属性是callee,它表示对函数对象本身的引用,这有利于实现无名函数的递归或者保证函数的封装性。varsum=function(n){if(1==

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。