为了账号安全,请及时绑定邮箱和手机立即绑定
  • 写法3: (function(window, undefined) { var jQuery = function() {} // ... window.jQuery = window.$ = jQuery; })(window); 从上面的代码可看出,自动初始化这个函数,让其只构建一次。详细说一下这种写法的优势: 1、window和undefined都是为了减少变量查找所经过的scope作用域。当window通过传递给闭包内部之后,在闭包内部使用它的时候,可以把它当成一个局部变量,显然比原先在window scope下查找的时候要快一些。 2、undefined也是同样的道理,其实这个undefined并不是JavaScript数据类型的undefined,而是一个普普通通的变量名。只是因为没给它传递值,它的值就是undefined,undefined并不是JavaScript的保留字
    查看全部
  • jQuery一共13个模块,从2.1版开始jQuery支持通过AMD模块划分,jQuery在最开始发布的1.0版本是很简单的,只有CSS选择符、事件处理和AJAX交互3大块。其发展过程中,有几次重要的变革: ☑ 1.2.3 版发布,引入数据缓存,解决循环引用与大数据保存的问题 ☑ 1.3 版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升 ☑ 1.5 版发布,新增延缓对像(Deferred Objects),并用deferred重写了Ajax模块 ☑ 1.7 版发布,抽象出回调对象,提供了强大的的方式来管理回调函数列表。
    查看全部
    0 采集 收起 来源:jQuery整体架构

    2016-08-30

  • 其中会用到的正则: //分组 var rcomma = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/; //关系符 var rcombinators = /^[\x20\t\r\n\f]*([>+~]|[\x20\t\r\n\f])[\x20\t\r\n\f]*/; //空白 var whitespace = "[\\x20\\t\\r\\n\\f]";
    查看全部
  • Then done
    查看全部
    0 采集 收起 来源:when方法的设计

    2016-08-24

  • Deffered
    查看全部
  • Deffere
    查看全部
  • DOM文档加载步骤: 1.解析HTML结构 2.加载外部脚本和样式表文件 3.解析并执行脚本代码 4.构造HTML DOM模型 5.加载图片等外部文件 6.页面加载完毕
    查看全部
  • end()和addBack()都是对堆栈的操作,end()的方法是返回上一个执行上下文的范围,而addBack()是将当前选择的上下文全部push进这个堆栈中,组成一个数组对象,pushStack的实现 pushStack: function( elems ) { // 创建一个新的jquery匹配元素集合 var ret = jQuery.merge(this.constructor(), elems); //把旧对象放进这个堆栈中 ret.prevObject = this; ret.context = this.context; return ret; }
    查看全部
    0 采集 收起 来源:end与addBack

    2016-08-21

  • 需要调用链式的使用方法。=> 在这个原型方法最后添加 return this;
    查看全部
  • var jQuery = function(selector, context){<br> return new jQuery.prototype.init(selctor, context);<br> }<br> <br> jQuery.prototype = { init: function() { } } //因为new的实例是指向这个构造函数的原型的 //当我们外面在使用init出来的构造函数的时候,其this是指向jQuery.prototype.init.prototype这个构造函数上的, //这时候我们想要继续使用this调用jQuery上的静态方法的时候就需要将jQuery.prototype 上的方法传递给init.prototype jQuery.prototype.init.prototype = jQuery.prototype;
    查看全部
  • function show(data) { $("body").append('<li>' + data + '</li>') } (function(window){ //自自行函数 show('wuhaihua'); })(window) $(function(){//jquery 对象调用的函数 show('wuhaihua2'); }); $(document).ready(function(){}); $//代表是jquery语言 $(document).ready( function(){ //html document加载完成后执行这个函数 show('wuhaihua3'); } ); //jquery() 9种调用方式==== $() 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)
    查看全部
  • jquery.js prototype.js //如果$的引用是prototype实现的 if( prototype$ ) { //jquery执行的代码 var window._$ = $; //使用了jquery的noConflict //旧引用的$被保存到jquery的初始化中 if( window.$ === jQuery ) { window.$ = _$; } }
    查看全部
  • 为了只让aQuery值实例一次,所以我构造了一个在aquery上的init方法,然后将aQuery构造一次,然后将所有的方法全都放在init的原型上去,在把init原型的方法直接赋值给aQuery的原型上去,这样aQuery只需要构造一次,就有了各种调用的方法,返回的就是init构造方法。
    查看全部
  • 工厂模式-创建一个工厂,然后需要什么零件或者方法的时候,就去new这个方法,需要什么调用什么,工厂中已经把所有需要的方法都已经实现。<br> var CarFactory = (function() { var Car = function(model, size, year) { this.model = model; this.size = size; this.year = year; }; return function(model, size, year) { return new Car(model, size, year); } ])(); var a = new CarFactory("Tom", 14, 2016); 简易理解版: var product = {}; product.createProductA = function() { }; product.createProductB = function() { }; product.factory = function(type) { return new product[type]; } product.factory("createProductA");
    查看全部
  • PCH
    这里没怎么看懂
    查看全部
    0 采集 收起 来源:对象的构建

    2016-08-18

举报

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

微信扫码,参与3人拼团

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

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