jquery的套路

1,返回伪数组加属性

$ 返回类数组对象


image.png
image.png

为什么不返回数组呢?
1,作者喜欢
2,如果返回的是数组就会有一个我不想要的API

伪数组怎么使用数组的方法呢?
call方法 (这个是函数的基本方法)

image.png

2,使用原型链(实现了继承机制)

image.png
image.png

image.png

所以当声明一个数组对象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  
image.png

维持着一堆方法内存的作用是不让这些方法丢了
当一个内存没有任何人引用的时候就会死掉
jquery使用_proto_链接所有的对象

image.png
image.png

jquery里面的原型链关系:

image.png

实际的例子:


image.png
image.png
image.png

jquery把prototype改写成了fn


image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,830评论 24 450
  • 1,javascript 基础知识 Array对象 Array对象属性 Arrray对象方法 Date对象 Dat...
    Yuann阅读 950评论 0 1
  • 进入菩心本源第三天课程,刘老师一句话让我记忆犹新,就是那句:爱TA就给TA想要的。 我们的成长过程中,“为你好”这...
    小学生老韩阅读 517评论 0 0
  • 感恩!成甲读书古川武士的《坚持,一种可以养成的习惯》,如何培养一种习惯呢?反抗期如婴儿学步并做简单记录,不稳定期行...
    梧桐70阅读 139评论 0 0