-
链式的原理就是要返回当前操作的上下文查看全部
-
在Callbacks 局部作用域中定义的self,被返回到了全局作用域,这是闭包最普遍的利用状态。查看全部
-
异步的事件驱动型回调函数 event loop 任务队列——工作线程:network DOM事件 setTimeout 读写文件 执行队列 JavaScript是严格的单线程查看全部
-
each迭代器属于实用方法,JS功能的实现,类似Underscore.js中的_.each实现。查看全部
-
让我联想到ES5数组的遍历方法查看全部
-
jQuery有很多的遍历方法,比如find() children() parent() 这里方法在于寻找目标DOM对象,英文表述叫traversing,jQuery文档中专门有这个类别。 遍历方法方面的设计特点是:对象内部维护一个专门存储元素集合对象的堆栈,这是一种数据结构,目的在于存储找到的元素集合对象。有了这个栈,我们就能轻而易举地获知前一次遍历获得的元素集合对象,就是使用prevObject。查看全部
-
看到这里有眼前一亮的感觉。jQuery原来还能这么用。感觉学习源码,能够让我更好的学习jQuery。jQuery实例对象有个prevObject属性,我之前还疑惑这个属性是干什么用的,现在算是明白了。比如说彼时通过$(‘h1’)实例化一个jQuery对象,这是个类数组,存放着全部的h1元素;然后通过$(‘h1’).eq(0).find(‘a’)找到了文档中第一个h1对象中的a元素,注意此刻返回值还是jQuery实例。然后$(‘h1’).eq(0).find(‘a’).end(),这步操作结束后,就等于$(‘h1’).eq(0),也即文档中第一个h1对象。在遍历和查询节点中能够节约很多的重复操作哦。查看全部
-
今天看到了插件接口的设计。首先插件可以是jQuery的静态方法,又能是jQuery实例的方法(扩展到实例原型对象上)。但是这两种方法的实现其实是同一个方法。 这节内容让我想到对象的可扩展性,对于库的设计者而言,全局对象的属性肯定不能随便扩展,只能提供一个接口,让其他开发者有序扩展。 另外,插件设计的好处。jQuery库仅保留核心功能,其余功能的实现都是通过插件。这样的好处是:降低框架的复杂度,同时又能丰富jQuery库的功能。查看全部
-
方法链式调用,JavaScript权威指南中也有相关说明,method chaining,举就是jQuery的例子。从方法中返回对象,然后可以继续调用方法,形成一条方法链。这样的一个好处就是,少些很多代码,更贴切开发者思维。 但是并不是所有的方法都返回对象,有些方法有自己的返回值,比如html()、hasClass()、get()等方法。之前我还纠结为什么调用不同的方法,返回值大多都是jQuery对象,现在都明白了,是为了方便形成方法链啊。我得有意识地记住大多数方法里都有return this;这句指令。查看全部
-
实例共享的方法存储在jQuery.fn对象上,此外还有一些静态方法,是存放在jQuery函数对象上的,比如jQuery.ajax方法。静态方法其实就是jQuery函数对象的属性方法。函数也是对象嘛,也能有自己的属性和方法。同样为了节省内存,实例的某些方法是取于静态方法。也就是说,别看一个叫实例方法,一个叫静态方法,但是它们实际上是同一个方法,因为占用同一块内存,只不过传递的参数有些不同罢了。查看全部
-
为了在使用jQuery构造函数实例化对象时,让编程人员少写个new,那么就需要在构造函数里面多写个new。但是构造函数里面多写个new,容易出现循环递归的问题(虽然我没绕明白),然后就在jQuery.fn对象上加个构造器init。查看全部
-
实例共享的方法存储在jQuery.fn对象上,此外还有一些静态方法,是存放在jQuery函数对象上的,比如jQuery.ajax方法查看全部
-
jQuery本质上是构造函数,但是和一般的构造函数不同的是:不需要使用new 操作符显式地实例化对象(可能就是为了少写个new才这样设计的吧);jQuery.fn是存储所有jQuery实例共享方法和共享属性的地儿。比如css方法、toggleClass方法,都在jQuery.fn对象上存着呢查看全部
-
$(handler);是$(document).ready(handler);的缩写形式,也是官方推荐的形式查看全部
-
比如 $('h2'); // 获取页面中所有的"<h2>...</h2>"元素 返回的是一个类数组对象。其本质是对象类型,但是又可以使用$('h2')[0];这样的获取数组元素的方式来操作这个对象。查看全部
举报
0/150
提交
取消