为了账号安全,请及时绑定邮箱和手机立即绑定

jquery开始声明的问题

jquery开始声明的问题

慕斯卡5910870 2016-07-31 13:03:12
这两个有什么区别些啊
查看完整描述

1 回答

?
柠檬酸钠

TA贡献331条经验 获得超534个赞

来来来我带你看源码

首先找到jQuery的主函数

//img1.sycdn.imooc.com//579d8dfb00011df911720226.jpg

你会发现它调用了jQuery.fn.init方法,然后我们找到这个方法

//img1.sycdn.imooc.com//579d8f040001207607011178.jpg

好长好长,不过这不是重点,重点是2925行,我看到了什么?

//img1.sycdn.imooc.com//579d8fb90001f51409120196.jpg

isFunction,哦,判断你传的第一个参数如果是函数,然后就给root绑定一个ready事件

那么现在问题来了,root是谁?

那么我在2842行找到了如下代码

//img1.sycdn.imooc.com//579d901c0001414905420032.jpg

哦,原来是rootjQuery,那么rootjQuery又是谁,于是我继续找,终于在2945行找到了,其实就是jQuery封装后的document

//img1.sycdn.imooc.com//579d90690001e29305330041.jpg

现在一切都解释清楚了吧,你给$传一个函数时jQuery会把这个函数绑定到document的ready事件上,所以两种方法的效果是完全一样的

查看完整回答
2 反对 回复 2016-07-31
  • 1 回答
  • 0 关注
  • 1605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信