文档章节

怎样轻松理解jquery的细节

 宁哥实战课堂
发布于 2017/05/03 18:04
字数 846
阅读 9
收藏 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
谈谈 jQuery 中的防冲突(noConflict)机制

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

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

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

易达
2012/08/04
0
0
jQuery零基础入门——(一)初识jQuery

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,补充了个人的理解和日常遇到的点,主干出处来自廖雪峰老师的技术分享。 大家好,欢迎来到我们新的课程。应部分读者的要求,为满足...

JandenMa
06/29
0
0
来学着写自己的“jQuery”

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作 jQuery是开源软件,使用MIT许可证授权。jQuery的语法设计使得许多操作变得容易,如操作文档对象(document)、选择文档...

YyzclYang
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【七】组合Action

本章描述了常用定义Action的方法。 自定义action builders 我们在action一章已经看过如何声明一个action——有request parameter、无request parameter、有body parser等等。你可以在 asynch...

Landas
35分钟前
0
0
Spring Boot实战之基础回顾

本文作者: 吴伟祥 本文链接: https://wuweixiang.cn/2018/08/21/Spring-Boot实战之基础回顾/ 版权声明: 本博客所有文章除特别声明外均为原创,采用CC BY-NC-SA 4.0 许可协议。转载请在文章开...

吴伟祥
35分钟前
0
0
OAuth认证开发

提示: 以下测试是基于项目安装成功,初始化数据库(initial_db.ddl, oauth.ddl, initial_data.ddl)后的测试, 也可在页面上点击"client_details"菜单里进行测试 方式1:基于浏览器 (grant_type=...

舒文joven
44分钟前
1
0
第二章-对象及变量的并发访问-第二篇

锁对象的改变 请阅读如下代码 public class MainClass { private String lock = "123"; public void printStringB() { try { synchronized (lock) { ......

简心
48分钟前
0
0
日志中记录代理IP以及真实客户端、apache只记录指定URI的日志

apache 日志中记录代理IP以及真实客户端 默认情况下log日志格式为: LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 其中%h 是记录访问者的IP,如果在web的前...

李超小牛子
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部