锋利的jQuery读后感10篇
《锋利的jQuery》是一本由单东林 / 张晓菲 / 魏然著作,人民邮电出版社出版的平装图书,本书定价:49.00元,页数:380,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。
《锋利的jQuery》读后感(一):味同嚼蜡
看下来,就是个人的整理笔记,方便的也是整理者本人的查阅,而不是学习者学习。
解释敷衍,没有给出来源;
排版粗糙,代码后面带有大面积的背景色,不利于阅读的呀;
举例混乱,不适合学习者用。
推荐图灵丛书《jquery基础教程》(看书名叫基础教程,实际是前八章基础,后五章高级教程。)
《锋利的jQuery》读后感(二):加入一些作者自己的思考和理解
看起来像是JQuery的官方手册一样,不过加入一些作者自己的思考和理解的文字。作为JQuery入门书籍还是不错的,前后看了大概三遍左右,大概两个小时可以看完一遍。
总体感觉还不错,每次读一读,用一段时间候再翻一遍,又会有一些新的收获。前端其实没有太多花头的东西,就是那么多规范、定义、规则等等,需要实践掌握和加深影响。
《锋利的jQuery》读后感(三):入门级jQuery,偏向实战
讲的比较通俗易懂,很适合入门。
书中介绍了不少实战性的例子和用法,还简单介绍了几类jQuery插件,供实际应用中作参考。
对选择器的内容讲得不是太多,网上那些漫天琐碎讲选择器,看了头都晕了,其实在用的时候查找手册就好。
书中对jQuery的动画和事件进行了介绍,一般教程对这部分讲得都比较弱,但是实际用的几率还是挺大。
推荐看。
《锋利的jQuery》读后感(四):入门的工具书
对比原装的html+jsp,jQuery确实省事了很多。不过现在前端的类库种类很多,很多都比jQuery更方便。如果非要选jQuery的话,那么这本书是一本不错的工具书。
吐槽一下,现在写评论还要超过50个字啊。我一向要求自己言简意赅的。该说的说完了,不够的只能在这里加。
《锋利的jQuery》读后感(五):jquery入门书籍
不是书评是个人备份摘录
一个jquery的参考文档:
第一章:认识jquery
javascript程序库的诞生是为了简化javascript的开发,javascript程序库封装了很多预定义的对象和实用函数,能帮助轻松建立交互并且兼容各大浏览器。
jquery的优势:轻量级(30KB左右)、强大的选择器、出色的DOM操作的封装(封装了大量常用DOM操作)、可靠地事件处理机制、完善的Ajax(jquery讲所有的ajax操作封装到一个函数$.ajax()里)、不污染顶级变量、出色的浏览器兼容性、链式操作、隐式迭代、行为层与结构层分离、丰富的插件支持、完善的文档、开源。
$就是jquery的一个简写形式。
jquery对象和DOM对象的区别:DOM(文档对象模型)每一份DOM都可以表示成一棵树,DOM对象可以使用javascript方法。jquery对象就是通过jquery包装DOM对象产生的对象。jquery对象是jquery独有的。在jquery对象中无法使用DOM对象的任何方法,DOM对象也不能使用jquery里的方法。
jquery对象转化为DOM对象方法:var $cr=$("#cr");var cr=$cr[0] / var $cr=$("#cr");var cr=$cr.get(0);
DOM对象转化为jquery对象方法:
var cr=document.getElementById("cr");
var $cr=$(cr);
解决jquery与其他库的冲突可以用jQuery.noConflict()函数。
--------------------------------------------------------------
第二章:jquery选择器
选择是jquery的根基。jquery选择器继承了css选择器风格。
jquery选择器分为:
基本选择器——通过元素id,class和标签名等查找DOM元素。
层次选择器——通过元素之间的层次关系获取特定元素。例如后代元素、子元素、相邻元素和同辈元素等。
$("a b")选取a元素里的所有后代b元素
$("a>b")选取a元素下的子元素b,这里是直接后代关系
$("a+b")选取紧邻在a元素后的b元素(同辈元素),可用next()方法代替
$("a~b")选取a元素后的所有同辈元素b,可用nextAll()方法代替
过滤选择器——选择器以一个冒号(:)开头,冒号前没有空格的。分为
基本过滤、
:first/:last/:not(selector)/:even/:odd/:eq(index)/:gt(index)/:lt(index)/:header/:animated/:focus
内容过滤、
主要体现在他所包含的的子元素或文本内容上:contains(text)/:empty/:has(selector)/:parent、
可见性过滤、
:hidden/:visible
属性过滤、
通过元素属性来获取相应的元素
子元素过滤、
获取的都是集合,:nth-child()选择器是常用的子元素过滤器,选取的是每个父元素下的子元素,索引值从1开始。:first-child/:last-child/:only-child
表单对象属性过滤选择器、
针对所选择的的表单元素进行过滤
:enabled/:disabled(冒号前有空格):checked/:selected
表单选择器、
:input/:text/:password/:radio/:checkbox/:submit/:image/:reset/:button/:file/:hidden
选择器中有特殊符号用转义符号\进行转义
filter()方法和find()方法的区别:find()会在元素内寻找匹配元素,filter()则是筛选元素,一个针对他的子集操作,一个则是对自身集合元素进行筛选。
--------------------------------------------------------------------
第三章:jquery中的DOM操作
DOM操作分为三个方面:DOM Core(核心)、HTML-DOM和CSS-DOM.
每一张网页都可以用DOM表示出来。
----------------------------------------------------------------------
第四章:jquery中的事件和动画
is()方法判断元素是否显示
合成事件有两个:hover()-模拟鼠标悬停事件/toggle()-模拟鼠标连续点击事件
事件冒泡(由内到外的响应内部事件),停止事件冒泡的方法有stopPropagation()方法:event.stopPrapagation();
阻止默认行为可以用preventDefault()方法;同事阻止冒泡和默认行为可以返回false;
event.pageX和event.pageY可以获取到光标相对于页面的x坐标和y坐标。
top()方法停止元素的动画、delay()方法延迟元素的动画。
动画方法概括:hide()/show()/fadeIn()/fadeOut()/slideUp()/slideDown()/animate()/toggle()/slideToggle()/fadeTo()/fadeToggle().
--------------------------------------------------------------------------
第五章:jquery对表单、表格的操作及更多应用
--------------------------------------------------------------------------
第六章:jquery与ajax的应用
ajax全称为“asynchronous javascript XML”异步javascript和XML.
ajax的优势:
不需要插件支持/优秀的用户体验/提高web程序的性能/减轻服务器和带宽的负担。
ajax的不足:
浏览器对XMLHttpRequest对象的支持度不足/破坏浏览器前进、后退按钮的正常功能/对搜索引擎的支持的不足/开发和调试工具的缺乏.
ajax的核心是XMLHttpRequest对象,它是实现ajax的关键,发送意不请求、接收响应及执行回调都是通过它来完成的。
第九章:jquery Mobile
jquery Mobile是用来填补jquery在移动设备应用上的缺憾的一个新项目。它基于jquery框架并使用了HTML5和CSS3这些新的技术,除了能提供很多基础的移动页面元素开发功能外,框架自身还提供了很多可供扩展的API以便于开发人员在移动应用上使用。
jqueryMObile的策略可总结为:创建一个在常见智能手机/平板电脑浏览器领域内能统一用户界面的顶级javascript库,jQuery Mobile有以下特性:
1.基于jquery构建。
2.兼容绝大部分手机平台。
3.轻量级的库。
4.模块化结构。
5.HTML5标记驱动的配置。
6.渐进增强原则。
7.响应设计。
8.强大的ajax的导航系统。
9.易用性。
10.支持触摸和鼠标事件。
11.统一的UI组件。
12.强大的主体化框架。
《锋利的jQuery》读后感(六):锋利的jQuery
优点:轻量、选择器、DOM操作、事件处理、兼容、链式操作
理念:write less, do more.
:windows.onload 与 $(document).ready() 区别
代码风格:1、链式操作风格(同级多行、子级缩进),2、注释
jQuery对象与DOM对象:1、方法不通用,2、可互转($(cr), $cf[0])
:is(':checked')
与其它库的冲突:在别的库之前JQ被引入用jQuery. ,之后用noConflict()
---
基本选择器:#id .class element * selector1,...,selectorN
层次选择器:$('ancestor descendant') $('parent > child') $('prev + next') $('prev ~ siblings')
过滤选择器::first :last :not(selector) :even : odd :eq(index) :gt(index) :lt(index) :header :animated :focus :contains(text) :empty :has(selector) :parent :hidden :visible [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [attribute|=value] [attribute~=value] [attribute1][attributeN] :nth-child(index/even/odd/equation) :first-child :last-child : only-child :enabled :disabled :checked :selected
表单选择器::input :text :password :radio :checkbox :submit :image :reset :button :file :hidden
---
查找节点: $li = $("ul li:eq(1)")
查找属性节点:$li.attr("title")
创建节点:$li_1 = $("<li title='香蕉'>香蕉</li>")
插入/移动节点:append() appendTo() prepend() prependTo() after() insertAfter() before() insertBefore()
删除节点:remove() detach() empty()
复制节点:clone(true)
替换节点:replaceWith() replaceAll()
包裹节点:wrap() wrapAll() wrapInner()
属性操作:attr() removeAttr()
样式操作:addClass() removeClass() toggleClass() hasClass() is()
设置获取值:html() text() val() focus() blur()
遍历节点:children() next() prev() siblings() closest() parent() parents()
CSS-DOM操作:css() width() height() offset() position() scrollTop() scrollLeft()
---
加载DOM:ready()
事件绑定:bind(blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error)
合成事件:hover()
事件冒泡:event.stopPropagation() event.preventDefault() {return false;}
事件对象的属性:event.type event.target event.relatedTarget event.pageX event.pageY event.which event.metaKey
移除事件:unbind() one()
模拟操作:trigger(type,[data]) triggerHandler()
事件命名空间:bind('click.plugin') trigger('click!')
动画:show() hide() fadeIn() fadeOut() slideUp() slideDown() fadeTo() toggle() slideToggle() fadeToggle() .animate( properties [, duration ] [, easing ] [, complete ] )
多重动画:.animate().animate()
停止动画及动画状态:stop([clearQueue],[gotoEnd]) is(':animated') delay()
动画回调:queue(function(next){next();})
---
css() animate() 接受以对象方式的多个CSS属性,接受 +=88、-=88 这样的属性
this.checked = !this.checked 反转布尔值
rop() 只存在布尔值的属性使用,一般用attr()
链式选择器与 遍历节点 方法共用减少代码量
trigger() 调用已经绑定的办法减少代码量
each() 遍历一个jQuery对象,为每个匹配元素执行一个函数
end() 终止在当前链的最新过滤操作,并返回匹配的元素的以前状态
:contains() 选择所有包含指定文本的元素
filter( selector ) 筛选元素集合中匹配表达式 或 通过传递函数测试的 那些元素集合
jquery.cookie.js
---
AJAX优劣:无插件、体验好、性能好、负担少;支持不一、前进后退失效、SEO不好、没好工具
XMLHttpRequest:ActiveXObject(ie6) xmlHttpReq.open() xmlHttpReq.onreadystatechange xmlHttpReq.send() xmlHttpReq.readyState xmlHttpReq.status
load():从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。
$.get():使用一个HTTP GET请求从服务器加载数据。
$.post():使用一个HTTP POST 请求从服务器加载数据。
$.getscript():使用一个HTTP GET请求从服务器加载并执行一个 Javascript 文件。
$.getJSON():使用一个HTTP GET请求从服务器加载JSON编码的数据。
$.ajax():执行一个异步的HTTP(Ajax)的请求。
.serialize():将用作提交的表单元素的值编译成字符串。
.serializeArray():将用作提交的表单元素的值编译成拥有name和value对象组成的数组。
$.param():创建一个数组或对象序列化的的字符串,适用于一个URL 地址查询字符串或Ajax请求。
不同阶段状态:.ajaxStart() .ajaxStop() .ajaxComplete() .ajaxError() .ajaxSend() .ajaxSuccess()
$( selector [, context ] ) context 第二个上下文参数用于来指定选择器查找的范围
---
jquery.[插件名].js:注意 this 的使用
闭包:;(function($){})(jQuery);
封装对象方法的插件:$.fn.extend({});
封装全局函数的插件:$.extend({});
选择器插件:$.extend($.expr[":"],{});
尽量使用ID选择器、尽量给选择器指定上下文、缓存对象、循环时的DOM操作、数组方式使用jQuery对象、length检查jQuery对象、用on()监听多个事件、将代码转化为jQuery插件、使用join()拼接字符串、合理使用HTML5的Data属性、尽量使用原生的Javascript方法、压缩JS
$.cssHooks:直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性。
$.proxy():接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文语境。
断点:静静的陪你走了好远好远,连眼睛红了都没有发现……
---
终于学完这本书了,不错推荐,OVER