为了账号安全,请及时绑定邮箱和手机立即绑定
各位注意:
var _jQuery = window.jQuery,
_$ = window.$;
这段代码是放到Jquery的最前面,不然就保存不到window.$原先的内容了
非常棒的理解,看到就转了下哈


理解:1.$(),jQuery()是执行一个函数,$和jQuery是函数名称,这个函数返回的是一个对象,所以里面是一个new表达式,但是名字不能是自己,否则无限循环。2.既然不是自己,其实可以理解为jQuery()返回的不是jQuery对象,而是jQuery.fn.init(一个名字而已)对象。3.但是为了统一和方法/属性的共用(理解原型链),jQUuery这样处理,jQuery.fn.init.prototype = jQuery.prototype.

后面还有4.............不能超过3000字
确实经典,$.data 与 $().data,公用同一个方法,internalData()很巧妙的分开,内部使用;外部使用包括$.data 与 $().data两种方法,根据传递dom与jquery的不同,两种模式存储,赞赞,mark
$().each 调用$.each函数
[this[j]]返回是数组形式,pushStack,新建jQuery并且加工
支持自己扩展的时候,用深拷贝
这里这些东西感觉好难,最好出个视频啊 感觉看不懂
安全工厂,访问不到ajQuery.prototype函数
作用域是函数和变量的可访问范围,作用域控制函数和变量的可见性,而作用域链是函数建立过程中,与之对应变量对象(variable object)的集合
上下文的建立阶段,先是处理arguments, 参数,接着是函数的声明,最后是变量的声明,会把变量自动赋值为undefined,所以var aQuery2=function(){} 为undefined, 而 function aQuery1(){} 正常输出
别说了,老师是日本来的 - -
前两个是放在对象中;第三个放在jquery.cache 。??
https://github.com/jquery/jquery/blob/10399ddcf8a239acc27bdec9231b996b178224d3/src/core/ready.js#L80
看源码发现左侧代码是有问题的。源码可以很清楚的看到callback.call里是传入了index(i)的值的。源码是if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
需要在var results = document.querySelectorAll(selector);后面加上这一句this.length = results.length;
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消