【Javascript】Prototype源码浅析—Hash部分(一)

2012-01-31

Hash

Hash是Prototype作者扩展出来的一个数据类型。 本质上他就是一个普通的javascript对象(注:不要纠结什么javascript变量都是对象,这里说new Object()那种),然后在这个对象上面扩展出来一些其他的方法。

基本原理

基本的原理的代码说明就是:

...
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

Prototype在原生对象的基础上扩展,分别是 Object,Function,String,Number,Array,Date,前面分析了 Object,Function,String,还剩下Number,Array,Date。

Number部分方法比较少,一共有8个:

Read More