为什么写 $("document").ready() 仍然成功?-问答-阿里云开发者社区-阿里云

开发者社区> 小旋风柴进> 正文

为什么写 $("document").ready() 仍然成功?

2016-03-26 09:21:30 1485 1

背景
在学习 jQuery 的时候,误把 $(document).ready() 写成了 $("document").ready() 后,ready 内的代码仍然成功执行?

问题
想问下为什么会这样?

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:15:16

    $("document")结果是什么
    $("document")应该通过jQuery.fn.init( selector, context );这个函数来构造jQuery对象,
    这个函数有很多的分支,$("document")落在114行代码的这个分支上。

    if ( !context || context.jquery ) {
        return (context || rootjQuery).find( selector );
    }

    这里的context是undefined,根据短路原则if判断为真,所以执行
    return (context || rootjQuery).find( selector );
    但是这里又有分支,不难看出最终执行的是

    return (rootjQuery).find( selector );
    而rootjQuery是在722行赋值的rootjQuery = jQuery(document);
    因此,$("document")最终是jQuery(document).find("document");
    这个是结果是个jQuery对象:

    0 0
相关问答

11

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 64018浏览量 回答数 11

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 56720浏览量 回答数 19

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157070浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 92862浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146769浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 145607浏览量 回答数 31

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 85181浏览量 回答数 23

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 80111浏览量 回答数 13

14

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 67361浏览量 回答数 14

2

回答

Nginx—owncloud安装记事

寒喵 2014-06-07 23:24:41 48515浏览量 回答数 2
2728
文章
6591
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载