为了账号安全,请及时绑定邮箱和手机立即绑定
wanquanbudong
问题出在aaRoot.querySelector尽然还有返回值!因为上下文查找的范围包含了自身了。

抛开IE8以下浏览器不说,现代浏览器也有这个问题,我觉得这样的解释更合理:

querySelector/querySelectorAll下(即是element.开头,而不是document.)的CSS选择器是绝对的。它们并不会相对于任何特定的元素,甚至不会相对于调用querySelectorAll的元素。

试下这俩看结果:
aaRoot.querySelector('.aaron span');
aaRoot.querySelector('div div');

最新回答 / daydaystudy
找到答案了,不包括自身。。。querySelector/querySelectorAll下的CSS选择器是绝对的。它们并不会相对于任何特定的元素,甚至不会相对于调用querySelectorAll的元素
啊,不是,老师说的兼容问题都是基于IE<=8的,不是chrome,上一条说错了
楼上错了,querySelector chrome 会查找自己本身的
什么呀没看懂
这分析,牛逼了,大赞,终于看懂了
内存泄漏这东西学问和大了,不得看看浏览器GC算法,现代浏览器标记-清除,IE6,7引用计数 ,不得去看看常见的几种内存泄漏的常见,闭包,DOM对象的二次引用(大数据直接赋给DOM对象的属性), 计时器,全局变量的创建等
那你跑这儿干嘛来了,来装逼?
@另一个我叫佟百万 搞笑呢。不知道indexOf -1 还来看源码的咯
这课程设计的越来越不走心了啊
这种简单模拟意义不大吧
这哪里精妙了,这很普通。。。
老师水平很高,不过确实有点自说自话。如果不是看过jQuery源码,很难进入情景
核心就是jQuery.fn = jQuery.prototype = {init(){}}
而jQuery函数的返回值为 new jQuery.fn.init()
老师漏了一句,jQuery.fn.init.prototype = jQuery.prototype,如此一来,所有挂到jQuery原型上的方法都会成为$()实例的方法。
这确实很基础。这都不懂,回去啃红宝书(JS高级程序设计)去!
this.length=1

this[0]=elem

this.get=function(num){
return this[num]
}
在这基础上其实还可以实现什么shift,push,pop,sort,map,这就是老师所说的类数组吧
实现push就需要每次this.length+1,实现map的方法是接受一个函数做参数,遍历数组,在每个元素上调用传入的函数,最后返回结果数组
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消