【Javascript】Prototype源码浅析—元素选择器部分(一)之$
简述
$ 方法是 Prototype 的基础,和jquery中的$作用差不多,不过功能却弱了很多。 因为Prototype中还有一个\(方法,看名字就知道,和$相比,\)加了一倍的钱,功能肯定就丰富撒。本文主要是剖析$方法,1.7版本的$$方法使用的是Sizzle引擎,比较复杂,是后面的事情。
基本原理
Read More
【Javascript】Prototype源码浅析—Date
2012-02-02
Date
Date比较好理解,理解清楚了 Number 对象的 toPaddedString 方法就可以了。
只有两个方法(toJSON和toISOString),而且这两个方法还一样,就是将日期转换为 JSON 字符串(遵循 ISO 格式)。
代码很短,我直接贴上来:
Read More
【Javascript】关于Chrome的sort()优化
2012-02-01
今天看Sizzle代码的时候,里面有这么一段:
// Here we check if the JavaScript engine is ...
Read More
【Javascript】Prototype源码浅析—Hash部分(一)
2012-01-31
Hash
Hash是Prototype作者扩展出来的一个数据类型。
本质上他就是一个普通的javascript对象(注:不要纠结什么javascript变量都是对象,这里说new Object()那种),然后在这个对象上面扩展出来一些其他的方法。
基本原理
基本的原理的代码说明就是:
...
Read More
【Javascript】Prototype源码浅析—Enumerable部分(三)
2012-01-19
现在来看Enumerable剩下的方法
toArray | size | inspect
inject | invoke | sortBy | eachSlice | inG...
Read More
【Javascript】Prototype源码浅析—Enumerable部分(二)
2012-01-17
剩下的方法太多,于是分作两部分。
亮点就是$break和$continue,以及grep方法的思想。
前面each方法中掉了一个方面没有说,就是源码中的$break和$continue。
这两个变量是预定义的,其作用相当于普通循环里面的break和continue语句的作用。
出于效率的考虑,在某些操作中并不需要完全遍历一个集合(不局限于一个数组),所以...
Read More
【Javascript】Prototype源码浅析—Enumerable部分(一)
2012-01-16
在javascript中,根本找不到 Enumerable 的影子,因为这一块是Prototype作者从Ruby中借鉴过来的。
并且Enumerable在实际中根本没有直接应用的机会,都是混入到其他的对象中,可以说是其他对象的一个“父类”(不过只是调用了Object的extend方法,进行了方法的直接拷贝而已)。
我并不熟悉Ruby,不过看Enumerable中的一些方...
Read More
【Javascript】Prototype源码浅析—Number部分
2012-01-14
【Javascript】Prototype源码浅析—Date
Date
Date比较好理解,理解清楚了 Number 对象的 toPaddedString 方法就可以了。
只有两个方法(toJSON和toISOString),而且这两个方法还一样,就是将日期转换为 JSON 字符串(遵循 ISO 格式)。
代码很短,我直接贴上来:
【Javascript】关于Chrome的sort()优化
今天看Sizzle代码的时候,里面有这么一段:
// Here we check if the JavaScript engine is ...
【Javascript】Prototype源码浅析—Hash部分(一)
Hash
Hash是Prototype作者扩展出来的一个数据类型。 本质上他就是一个普通的javascript对象(注:不要纠结什么javascript变量都是对象,这里说new Object()那种),然后在这个对象上面扩展出来一些其他的方法。
基本原理
基本的原理的代码说明就是:
...【Javascript】Prototype源码浅析—Enumerable部分(三)
现在来看Enumerable剩下的方法
toArray | size | inspect
inject | invoke | sortBy | eachSlice | inG...
【Javascript】Prototype源码浅析—Enumerable部分(二)
剩下的方法太多,于是分作两部分。
亮点就是$break和$continue,以及grep方法的思想。
前面each方法中掉了一个方面没有说,就是源码中的$break和$continue。 这两个变量是预定义的,其作用相当于普通循环里面的break和continue语句的作用。 出于效率的考虑,在某些操作中并不需要完全遍历一个集合(不局限于一个数组),所以...
【Javascript】Prototype源码浅析—Enumerable部分(一)
在javascript中,根本找不到 Enumerable 的影子,因为这一块是Prototype作者从Ruby中借鉴过来的。 并且Enumerable在实际中根本没有直接应用的机会,都是混入到其他的对象中,可以说是其他对象的一个“父类”(不过只是调用了Object的extend方法,进行了方法的直接拷贝而已)。
我并不熟悉Ruby,不过看Enumerable中的一些方...