为了账号安全,请及时绑定邮箱和手机立即绑定
不懂constructor: ajQuery是什么作用的同学们:
每一个构造函数都有一个prototype对象,函数的prototype对象存在一个属性constructor,这个属性是一个指针,指向构造函数。
因为我们使用字面量的形式重新定义了ajQuery的prototype对象,所以prototype里面的constructor属性我们必须自己重新定义
这里特别注意是只要使用了$.confilict()就会让出$的控制权,而不管是否发生了冲突。另外老师讲解的确太少了,很难看懂,一些逻辑没有讲清楚。希望老师以后能够更加负责。
还可以用 void 0 代表 undefined,很给力
jQuery.fn.init.prototype = jQuery.fn; 实际相当于继承jQuery,init方法返回的实例,this指向的只是init对象,而init对象上是不存在jQuery原型中的方法的
好难,下次再来
看到下面说头都很晕,我很高兴啊,哈哈哈,继续坚持看下去!
建议把《JavaScript高级编程》详读一遍再学习,至少在大致了解javascript使用方法之后把面向对象和继承深入的看完再学习JQuery架构
能在每行代码后面加上一些注释么
看到这一节开始有点吃力了
“所有对象的方法返回的都是对象本身,也就是说没有返回值,所以这种方法不一定在任何环境下都适合。”
ex: $('div').html() // 返回的是innerHTML的值,不是jQuery实例对象
ajQuery.fn.init.prototype = ajQuery.fn
这样写的目的是让init对象拥有ajQuery对象的原型方法
晕、。。。。。。。。。
原理:无论有多少个异步操作,每次返回一个异步结果就按照异步调用的顺序把结果缓存起来,并判断是否所有的异步都返回
function updateFunc(i) {
return function(value){
values[i]=value;
if (len === 1) {
deferred.resolveWith('contexts', values);
}
len--
}
}
for (; i < length; i++) {
resolveValues[i].done(updateFunc(i))
} 改成有序缓存,否则返回值不对应
console.log($a instanceof $jQuery.fn.init);
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消