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://blog.poetries.top/FE-Interview-Questions 目录 $...
    poetries阅读 45,902评论 14 380
  • 1,javascript 基础知识 Array对象 Array对象属性 Arrray对象方法 Date对象 Dat...
    圆圆和方方阅读 182评论 0 1
  • 减肥常见的误区是什么,有哪些误区是大家经常会碰到的,今天佳佳就给大家来分享在减肥中遇到的误区吧。 误区一:经常待在...
    玲珑瘦身述阅读 318评论 0 0
  • 进入菩心本源第三天课程,刘老师一句话让我记忆犹新,就是那句:爱TA就给TA想要的。 我们的成长过程中,“为你好”这...
    小学生老韩阅读 181评论 0 0
  • 感恩!成甲读书古川武士的《坚持,一种可以养成的习惯》,如何培养一种习惯呢?反抗期如婴儿学步并做简单记录,不稳定期行...
    梧桐70阅读 17评论 0 0