为了账号安全,请及时绑定邮箱和手机立即绑定
  • gc
    $.Deferred() $.when() $.Deferred()是基于$.callBacks()来开发的 使用延迟而不是将所有需要同步的代码写到一起的原因是: 如果写到一起要考虑作用域的问题,用延迟对象不用考虑 $.Deferred和$.done是一对,表示执行成功时的处理 $.reject和$.fail是一对,表示执行失败时的处理 $.notify和$.progress是一对,表示执行过程中的处理
    查看全部
  • JoV
    最新jQuery2.1.1版本的结构: ;(function(global, factory) { factory(global); }(typeof window !== "undefined" ? window : this, function(window, noGlobal) { var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = {}; // 核心方法 // 回调系统 // 异步队列 // 数据缓存 // 队列操作 // 选择器引 // 属性操作 // 节点遍历 // 文档处理 // 样式操作 // 属性操作 // 事件体系 // AJAX交互 // 动画引擎 return jQuery; }));
    查看全部
    0 采集 收起 来源:jQuery整体架构

    2018-03-22

  • 需要同时使用jQuery和其他JavaScript库,可用 $.noConflict()把$的控制权交给其他库。旧引用的$ 被保存在jQuery的初始化; noConflict() 简单的恢复它们。
    查看全部
  • JoV
    CSS1-CSS3提供了非常多的选择器,总的来说我们可以分几大类: 群组选择器:逗号“,” 简单选择器:ID、标签、类、属性、通配符 关系选择器:孩子、后代、相邻、兄弟 伪类选择器:动作伪类、目标伪类、语言伪类、状态伪类、结构伪类、取反伪类 群组选择器用于分组合并多个处理的结构 selector1, selector2, selectorN 简单选择器"#" "." "[" "*" ,这些都有内置原生API的支持,不过存在兼容问题。 属性选择器在CSS2.1中只有四种 [att] [att=val] [att~=val] [att|=val] 在CSS3中又增加了三种: [attr^=val] [attr$=val] [attr*=val] 当然除此之外jQuery还实现了自定义的属性选择器: [attribute!='value'] [attributeFilter1][attributeFilter2][attributeFilterN] 关系选择器 关系选择器存在着关联,不能是单独存在的。 ancestor descendant parent > child prev + next prev ~ siblings 伪类 这个细分就很多了,jQuery把这些伪类加工并扩展成几个大块: 基本筛选器: eq get first lang It not odd root... 内容筛选器: contains empty has parent... 可见筛选器: hidden visible 子元素筛选器: first-child nth-child only-child... 表单: bottom checkbox foucs input text...
    查看全部
    0 采集 收起 来源:理解CSS选择器

    2018-03-22

  • 通过new操作符构建一个对象,一般经过四步: A.创建一个新对象 B.将构造函数的作用域赋给新对象(所以this就指向了这个新对象) C.执行构造函数中的代码 D.返回这个新对象
    查看全部
    0 采集 收起 来源:分离构造器

    2014-12-29

  • gc
    通过下面的方式,可以讲类中的函数进行私有化和公有化分开处理: 1.在类中定义一个json,其中都是公开的函数,然后调用类中定义的函数 2.在new对象的时候,返回该json function AC() { var aa = function () { console.log('inner aa'); } publicMember = { aa: function () { console.log('public aa'); aa(); } } return publicMember; } var x = new AC(); x.aa();
    查看全部
  • gc
    JavaScript对于全局函数内的this绑定为全局对象,而对于嵌套函数也采用了相同的解释。 也就是说嵌套函数中的this是全局对象。所以下面的函数实现不了期望 var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName(); } } me.sayMyName(); 执行结果如下: My name is: 可以改为: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName.apply(me); } } me.sayMyName(); 或: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; var that = this; function displayName(){ alert(pre + that.name); } displayName(); } } me.sayMyName();
    查看全部
  • gc
    jQuery中的callback是对函数进行统一管理的 优势是对不同作用域的不同函数进行统一管理 <script> $.extend({ ABL:$.Callbacks(), AB: { Add : function (fc) { $.ABL.add(fc); }, Ding: function (d) { $.ABL.fire(d); } } }) function aa(ct) { console.log('aa:' + ct); } $.AB.Add(aa); (function () { function bb(ct) { console.log('bb:' + ct); } $.AB.Add(bb); })() $.AB.Ding("hello,new AB comessfsdfs."); </script>
    查看全部
  • gc
    删除js数组中的一个元素: this.move=function(fc){ var i = ar.indexOf(fc); if(i>=0){ ar.splice(i,1); } }
    查看全部
  • gc
    关于call函数的说明: http://uule.iteye.com/blog/1158829
    查看全部
  • gc
    callback使用了观察者模式 function aa() { console.log(11111); } function bb() { console.log(222222); } var cb = $.Callbacks(); cb.add(aa); cb.add(bb); cb.fire();
    查看全部
  • gc
    jQuery中的callback是对函数进行统一管理的。
    查看全部
  • gc
    通过为css传json来设置样式 <script src="jquery-2.0.3.js"></script> <script> $(function () { $('div').css({ width:'200px', background:'yellow' }) }) </script> <div>asdasfasd</div> attr应该也可以使用json
    查看全部
  • gc
    $.proxy的使用 function show(a) { console.log(a) console.log(this); } $.proxy(show,document)(111) $.proxy(show,document,111) $('div').click($.proxy(show,aabbbdd))
    查看全部
  • gc
    window.eval和eval是不同的。 window.eval(“var a=1”);可以是变量在全局看到 eval(“var a=1”)只能使变量在局部可见。 原因: window.eval是window的属性,而单独的eval是关键字, 注:如果这样写: var x=eval x("var a=1") 这样写跟: window.eval("var a=1")是一样的效果, 因为在将eval赋值给x时,eval是被看做window的属性来使用的。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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