1,返回伪数组加属性
$ 返回类数组对象
为什么不返回数组呢?
1,作者喜欢
2,如果返回的是数组就会有一个我不想要的API
伪数组怎么使用数组的方法呢?
call方法 (这个是函数的基本方法)
2,使用原型链(实现了继承机制)
所以当声明一个数组对象a时 a._proto_属性和Array.prototyp属性指向的是同一段内存地址
var a=[1,2],
b=[1,2,3]
a.push.call(b,4)===b.push(4) 达到相同的效果
因为a.push是在a的__proto__里面找的 她相当于 Array在prototype属性里面去找push
维持着一堆方法内存的作用是不让这些方法丢了
当一个内存没有任何人引用的时候就会死掉
jquery使用_proto_链接所有的对象
jquery里面的原型链关系:
实际的例子:
jquery把prototype改写成了fn