为了账号安全,请及时绑定邮箱和手机立即绑定
  • jQuery一共13个模块,从2.1版开始jQuery支持通过AMD模块划分,jQuery在最开始发布的1.0版本是很简单的,只有CSS选择符、事件处理和AJAX交互3大块。其发展过程中,有几次重要的变革。 五大块: jQuery按我的理解分为五大块,选择器、DOM操作、事件、AJAX与动画,那么为什么有13个模块?因为jQuery的设计中最喜欢的做的一件事,就是抽出共同的特性使之“模块化”,当然也是更贴近S.O.L.I.D五大原则的“单一职责SRP”了,遵守单一职责的好处是可以让我们很容易地来维护这个对象
    查看全部
    0 采集 收起 来源:jQuery整体架构

    2017-05-07

  • The Write Less,Do More(写更少,做更多),无疑就是jQuery的核心理念,简洁的API、优雅的链式、强大的查询与便捷的操作。从而把jQuery打造成前端世界的一把利剑,所向披靡!
    查看全部
    0 采集 收起 来源:jQuery设计理念

    2017-05-07

  • pushStack 需要回顾
    查看全部
    0 采集 收起 来源:get与eq的区别

    2017-05-04

  • pushStack
    查看全部
    0 采集 收起 来源:get与eq的区别

    2017-05-04

  • end方法就是回溯到上一个Dom合集,因此对于链式操作与优化,这个方法还是很有意义的
    查看全部
    0 采集 收起 来源:end与addBack

    2017-05-01

  • 首先对 JS 和 jQuery 都能够熟练使用并完成至少两个中型项目,对 JS 和 jQuery 都形成自己的一套理解和感悟,对各版本浏览器的差异和兼容性十分熟悉,这时候再去看源码解析,会感觉恍然大悟,更能深刻理解运行原理和封装的妙处
    查看全部
    1 采集 收起 来源:jQuery课程简介

    2017-04-26

  • jQuery多库共存处理,也叫无冲突处理。解决方案:noConflict函数,将变量$的控制权让给第一个实现它的那个库,例: jQuery.noConflict(); //使用jQuery jQuery("aaron").show(); //使用其他库的$() $("arron").style.display = "block"; 注意:noConflict函数必须在导入jQuery之后,并在导入另一个导致冲突的库之前使用。 Var _jQuery = window.jQuery, _$ = window.$; jQuery.noConflict = function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; }; 首先,我们先判断下当前的的$空间是不是被jQuery接管了,如果是则让出控制权给之前的_$引用的库,如果传入deep为true的话等于是把jQuery的控制权也让出去了。
    查看全部
  • jQuery的3种针对文档加载的方法: $(document).ready(function(){ //... }) $(function(){ //... }) $(document).load(function(){ //... }) ready和load谁先执行:ready先执行,load后执行 DOM文档加载步骤: (1)解析HTML结构 (2)加载外部脚本和样式文件 (3)解析并执行脚本代码 (4)构造HTML DOM模型//ready (5)加载图片等外部文件 (6)页面加载完毕//load jQuery兼容的具体策略:针对高级的浏览器 针对IE的加载检测:使用doScroll方法调用。原理:IE在非iframe中时,只有不断的通过执行doScroll判断DOM是否加载完毕。如果页面Dom未加载完成时,调用doScroll会导致异常,所以使用try-catch来捕获异常。反之,页面加载完成,则调用doScroll不会出现异常。
    查看全部
  • jQuery的类数组对象结构(jQuery内部的存储结构): 9种方法的重载:选择器,dom的处理,dom的加载 1. jQuery([selector,[context]]) 2. jQuery(element) 3. jQuery(elementArray) 4. jQuery(object) 5. jQuery(jQuery object) 6. jQuery(html,[ownerDocument]) 7. jQuery(html,[attributes]) 8. jQuery() 9. jQuery(callback) 函数内部保证通过new操作符构建的方法,例: var a = function(s){ //强制转换为对象 if(!(this instanceof a)){//this第一次指代window,第二次指代new a(s)的实例 return new a(s); } //逻辑处理段 this.length = 1; return this;//this指向new出来的实例对象 }
    查看全部
  • 库和框架设计要点:解决命名空间和变量污染的问题 jQuery的解决办法:利用js函数作用域的特性,采用立即调用表达式包裹自身的方法解决 jQuery使用()将匿名函数括起来,再加一对小括号自调用 (function(window,undefined){ var jQuery = function(){} //... window.jQuery = window.$ = jQuery; })(window); 1.window和undefinded都是为了减少变量查找所经过的scope作用域,即查找局部变量比查找全局变量更快; 2.undefined并不是js数据类型的undefined,而是普通的变量名 全局变量是魔鬼,匿名函数可以有效的保证在页面上写入js,而不会造成全局变量的污染,通过小括号,让其加载的时候立即初始化,就形成一个单例模式的效果,从而只会执行一次
    查看全部
  • 1、window和undefined都是为了减少变量查找所经过的scope作用域。当window通过传递给闭包内部之后,在闭包内部使用它的时候,可以把它当做一个局部变量,显然比原先在window scope下查找的时候更快一些。 2、undefined也是同样的道理,其实这个undefined并不是JavaScript数据类型的undefined,而是一个普普通通的变量名。只是因为没给它传递值,它的值就是undefined,undefined并不是JavaScript的保留字
    查看全部
  • 任何库和框架设计的第一个要点就是解决命名空间与变量污染的问题。jQuery就是利用了JavaScript函数作用域的特性,采用立即调用表达式包裹资深的方法来解决这个问题。
    查看全部
  • jQuery一共13个模块,从2.1版开始jQuery支持通过AMD模块划分,jQuery在最开始发布的1.0版本是很简单的,只有css选择符、事件处理和AJAX交互3大模块。 jQuery按我的理解分为五大块,选择器,DOM操作、事件、AJAX与动画。 .ajaxComplete() .ajaxError() .ajaxSend() .ajaxStart() .ajaxStop() .ajaxSuccess() 底层接口: jQuery.ajax() jQuery.ajaxSetup() 快捷方法: jQuery.get() jQuery.getJSON() jQuery.getScirpt() jQuery.post()
    查看全部
    0 采集 收起 来源:jQuery整体架构

    2017-04-11

  • 当一个对象的改变需要同时改变其它对象,并且它不知道具体有多少对象需要改变的时候,就应该考虑使用观察者模式。
    查看全部
  • function Aaron(List, callback) { setTimeout(function() { var task; if (task = List.shift()) { task(); //执行函数 } if (List.length > 0) { //递归分解 arguments.callee(List) } else { callback() } }, 25) } function show(data){ $("body").append('<li>'+ data +'</li>') } Aaron([ function() { show('a') }, function() { show('b') }, function() { show('c') } ], function() { show('callback') }) var callbacks = $.Callbacks(); callbacks.add(function() { show('callbacksA'); }) callbacks.add(function() { show('callbacksB'); }) callbacks.fire();
    查看全部

举报

0/150
提交
取消
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!