文档章节

怎样轻松理解jquery的细节

 宁哥实战课堂
发布于 2017/05/03 18:04
字数 846
阅读 10
收藏 0

学习、记忆、理解,应当不拘一格,采用一切手段去轻松记忆。最近在整理相关的jquery的学习内容。遇到了这个曾经迷惑过的内容,突然想到怎么巧记,写出来方便回顾。不一定很准确,但很容易记住。

$.each();相当于事先做好了一个对象,连名字都取好了,就像早就做好了window对象一样,调用的时候不需要再实例化,直接拿来调用即可。这样的好处是不但使用起来方便,而且易和别人沟通(别人看得懂了)。那么它相当于由顶级父类事先实例化了一个对象。

而下面的相当于是它的子类(DOM树中,不就是一棵倒立的对象集合吗?一个是另外一个的子对象,以此类比)又重写了该方法。那就当然$.each()可以有一套自己的使用规则,$(选择器).each()也可以有自己的使用规则了,同时,你如果写了$(选择器).each(),它就会覆盖继承过来的$.each();内容...

$('#mydiv').each();相当于通过调用$('#mydiv')返回一个子对象,该子对象调用一个each()方法。那么它知道自己是谁在调用了。也就不需要再传递处理对象了。而上述是父类对象在调用,未来在处理谁,还不知道呢。所以需要传递处理对象。

理解2:你也可以把$.each()看成一个类在调用静态方法,就像C++里的:Animal::set_name();这种。充其量就是js里的调用静态方法的方式不是“::”而也是“.”。而$('#mydiv').each();同样是上述的理解:通过$()的调用返回一个子对象,然后子对象调用each()方法。

静态方法通常是工具,因为不知道作用谁,所以需要传递一个“作用于谁”的参数,比如:一个数组,一个对象(里面有多个属性),然后传递处理函数。后者知道了是谁在调用,也就不需要传递了。

就像举个PHP例子来模拟:

each();//打印了Animal$b=newBird();$b->each();//虽然继承了each方法,但是自己又重写了,所以打印的是自己写的each(),也就打印了Bird

所以$.each()的用法自然是这样:

 

所以$('#myul li').each()的用法自然是这样:

 

如果二者的第2个参数代表的意义不一样,也是可以理解的,因为他们是不同的each()方法,当然可以不一样了。

把简单的东西说的深奥,那是故弄玄虚。把深奥的东西简单化,那才叫本事,才是一个讲师、过来人、前辈该干的事情。

提倡用一切手段去轻松理解,而且要融入你自己的故事和人生经历中,同时还要改的越来越好,越来越轻松记忆,这是一个无止境的事情,是值得深思的。

© 著作权归作者所有

共有 人打赏支持
粉丝 5
博文 72
码字总数 77184
作品 0
长沙
其他
私信 提问
从零实现一个简易的jQuery框架之二—核心思路详解

如何读源码 整体框架甚是复杂,也不易读懂。但是若想要在前端的路上走得更远、更好,研究分析前端的框架无疑是进阶路上必经之路。但是庞大的源码往往让我们不知道从何处开始下手。在很长的时...

余大彬
08/08
0
0
25+ 个 jQuery 网页拖放操作的插件

这篇文章为你介绍27个jQuery插件,使得你的Web前端具备拖放操作的能力。 Ajax Upload 提供文件拖放上传,并显示上传进度 Drop n’ Save – Drag & Drop Uploader 另外一个文件拖放上传功能的...

红薯
2012/04/09
17.1K
10
谈谈 jQuery 中的防冲突(noConflict)机制

许多的 JS 框架类库都选择使用 $ 符号作为函数或变量名,jQuery 是其中最为典型的一个。在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保...

i33
2013/03/13
0
0
30个创意出色的非常实用的jquery框架插件-(视觉大背景,瀑布流效果)

jQuery是在网页设计师和开发者最近的热门话题之一。人们使用它的广泛范围从个人博客到企业网站,目前流行的视觉大背景滚动效果,瀑布流图片阴影效果,图片缩放,动态标签复制,html5音频播放...

易达
2012/08/04
0
0
20 个具有惊艳效果的 jQuery 图像缩放插件

jQuery相对与Flash的魔力已经贯穿整个网络。尽管,Flash层被认为是用于网页设计的首选,然而随着jQuery的出现,以及他的酷似Flash的交互式特效使得网页更加的优雅——Flash开始靠边站了。 相...

oschina
2014/02/04
37.5K
22

没有更多内容

加载失败,请刷新页面

加载更多

oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
59分钟前
4
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
4
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部