为了账号安全,请及时绑定邮箱和手机立即绑定
很有价值的一小篇文章,一下拓宽了我的视野
@寒剑 callback.apply(obj[i], args),这不就把参数传进去执行了么
arg 是额外的参数,暂时没有用处。
不懂的大家看我的博客哦,我专门写了段模拟的小demo:
http://blog.csdn.net/sinat_26706135/article/details/44961461
看不懂了...
这个巧妙~赞
可以举复杂点的例子吗?
同意寒剑的说法,看了源码才发现,理解了...

最赞回答 / 艾伦Aaron
call 是给指定上下文,给注册的回调函数中的this改成传递的这个
test2中的first改为second
foo..find('.bar').css('background-color', 'green'); 应该改为 $('ul.first').find('.bar').css('background-color', 'green');

最赞回答 / wghusw
我来回答一下吧,是我个人的理解,不知正确与否,希望 @Aaron 可以纠正,关于“如果没执行if中的语句,那for循环中就从arguments[1]开始了,那arguments[0]没有得到扩展啊?”这个问题,样例代码中,如果执行extend时,传入的参数个数大于1,也就是第一个if判断失败的时候,我们应该可以得知使用者是针对某个具体的target(也就是arguments[0]对象)的扩展处理,随后的for循环直接跳过arguments[0]是合理的。老师的想法很巧妙...
怎么没有练习?
应该是jq放在其他库之后吧,这样_$保存的才是其他库的命名空间,之后jq返回的是window.jQuery = window.$ = jQuery覆盖了其他库的命名空间,调用jq的noConflict,然后window.$ = _$
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消