jquery的一些语法还不太熟,接触到逻辑与以及逻辑或,找到这篇文章,写的不错,实践验证理论。
http://cute-spring.iteye.com/blog/1097927
jQuery1.2.6 clean方法中有这么一段第一眼看去会让人晕掉的方法。完全不知其所言。
“||, && 可以这样用?”,“这段东西最终返回的是个什么对象啊?”
// Trim whitespace, otherwise indexOf won't work as expected
var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div");
var wrap =
// option or optgroup
!tags.indexOf("<opt") &&
[ 1, "<select multiple='multiple'>", "</select>" ] ||
!tags.indexOf("<leg") &&
[ 1, "<fieldset>", "</fieldset>" ] ||
tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
[ 1, "<table>", "</table>" ] ||
!tags.indexOf("<tr") &&
[ 2, "<table><tbody>", "</tbody></table>" ] ||
// <thead> matched above
(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
!tags.indexOf("<col") &&
[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
// IE can't serialize <link> and <script> tags normally
jQuery.browser.msie &&
[ 1, "div<div>", "</div>" ] ||
[ 0, "", "" ];
深入研究查询资料后才明白,这一段到低是想搞些干什么,也才被这巨牛的写法所折服。
// Logical AND && : the second operand will always be returned, no matter whatever it is, except the first operand is one of (0, -0, null, "", false, undefined, NaN) for such condition, the first operand will be returned.
// Logical OR || : the first operand will always be returned, except the first operand is one of (0, -0, null, "", false, undefined, NaN).
// in this situation the second operand will be returned, no matter what the second operand it is, even it's the same to the first one.
//<<Professional JavaScript for Web Developers 2nd Edition.pdf>> Page 52.
因为已经trim过了,前后都没有了空格,主要是前面没空字符串,所以此时判断是否以什么开头也就是startWith,最简单就是写成tags.indexOf("<opt"), 看法indexOf,返回值当startWith为true时,刚好返回的是0, 其它情况: 1,找到但是在字符串中间出现的返回值是大于0正数;2,完全没出现过时,返回为-1. 反正一样都是非0的数,而妙处就在在JavaScript定义中对number类对象,只是为0时,才被认为可转化为false,其它包括负数都被认为为true.
The indexOf() method returns the position of the first occurrence of a specified value in a string.
If the Boolean object has no initial value, or if the passed value is one of the following:
0, -0, null, "", false, undefined, NaN
the object it is set to false. For any other value it is set to true (even with the string "false")!
This method returns -1 if the value to search for never occurs.
那么假设如果tag是以"<opt"开头的话,那indexOf的值就是0,而前面加一个!号后, !tag.indoexOf("<opt") 的值就为true了, 那么就相当于是
true && [...], 再回头看看 && 的定义, 前一个值为false时才返回前一个参数值, 否则总是返回第二个参数(即便它自己也是false 或 NaN什么的)。
总之呢, jQuery原码中中这两个逻辑符号用的频率是相当相当的高,特别是 || 。
jQuery中几乎没那几方法实现中不用它的。 用好它们的确可以使代码更简化,优雅,高效。
例如下段,其常被用于,有默认值的情况。a不行,让b上,b也不行时,那就只能c了。退而求其次的处理方式。
// Start an animation from one number to another
custom: function(from, to, unit){
this.startTime = now();
this.start = from;
this.end = to;
this.unit = unit || this.unit || "px";
相关推荐
在IT领域,jQuery中文转换成拼音的代码是一个实用的功能,尤其在处理中文数据时非常有用。这个功能可以将用户输入的中文字符转化为对应的拼音,同时还能生成中文汉字的唯一编号。这种技术在诸如搜索引擎优化(SEO)...
本文着重讲解了在JQuery中使用$(document).ready()函数的详细方法和它的重要性。 在JQuery中,$符号是JQuery库的简写和引用。例如,$()函数等同于jQuery()函数。它为开发者提供了一种方便的方式来选择和操作文档中...
本项目“jQuery&CSS3卡片翻转特效”结合了这两种技术,为网页元素,特别是卡片式设计,提供了动态的翻转效果,增强用户体验。 jQuery是一个轻量级、功能丰富的JavaScript库,它简化了DOM操作、事件处理、动画效果...
通过下载并研究《轻松玩转jQuery》的源代码,读者可以亲手实现书中的示例,这将有助于加深对jQuery的理解,提高实际开发能力。源代码中可能包含了书中各个章节的实例,从基础操作到高级应用,覆盖了jQuery的各个方面...
"jQuery文本转语音播放"技术就是一种创新的方法,它允许用户在浏览器环境中将文字内容转化为可听的语音,这对于视力障碍者或者那些希望“听”网页内容的用户来说尤其有用。本文将深入探讨如何使用jQuery和相关技术来...
这篇名为“JQuery&JAVA JSON互转”的博客文章,可能讲解了如何在JQuery前端和Java后端之间有效地转换JSON对象。以下是一些相关的知识点: 1. **JSON基本结构**: JSON支持两种数据结构:键值对(对象)和数组。...
在前端开发中,有时我们需要将JSON格式的数据转换成表单(form)的格式进行提交,以便于服务器端处理。在JavaScript的世界里,jQuery库提供了一种便捷的方式来进行这样的转换。本篇文章将深入探讨如何利用jQuery从...
在IT领域,尤其是在编程实践中,有时我们需要将数字以中文大写的形式表示,这在财务报告、发票或银行转账等场景中非常常见。本教程将详细讲解如何使用jQuery实现这一功能,帮助初学者理解数字与中文大写的转换逻辑。...
在Web开发中,为了创造引人入胜的视觉效果,开发者经常需要借助JavaScript库,如jQuery。"jQuery转动的星球"是一个独特的jQuery插件,名为PLANETARIUM,它允许开发者在网页上创建交互式的行星模型,给用户带来虚拟...
【jQuery圆形旋转导航】是一种基于JavaScript库jQuery实现的交互式导航菜单效果,它以其独特的设计和动态特性,为用户提供了视觉吸引力和易于操作的界面。这个特效的核心在于它以圆形布局展示导航链接,并且带有箭头...
在本教程中,我们将探讨“jquery环形3D立体旋转特效”,这是一种利用jQuery创建的视觉效果,它能为网页增添动态且引人入胜的用户体验。 1. **jQuery基础**: - jQuery库是用JavaScript编写的,通过提供简洁的API,...
《jQuery 360度旋转插件:elbeanio-jquery.tagsphere深度解析》 在网页设计和开发中,动态视觉效果常常能提升用户体验,其中360度旋转展示是常见的一种手法。jQuery,作为一款轻量级、功能强大的JavaScript库,提供...
在“jQuery 抽奖转盘demo”中,可能包含了一个名为`jqueryrotate.js`的插件文件,这个插件专门扩展了jQuery,提供了更方便的旋转功能。使用插件可以避免直接操作CSS,简化代码,提高可维护性。通常,使用插件的步骤...
《jQuery文字3D翻转特效详解》 在网页设计中,动态效果往往能吸引用户的注意力,提高用户体验。本文将深入探讨“jQuery文字3D翻转特效”,这是一种利用jQuery库实现的创新视觉效果,通过3D变换让文字或div元素产生...
jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换...
2.jQuery层拖拽插件之jquery仿QQ空间的模块拖动功能插件下载 3.jQuery动感图标切换网页Tab选项卡导航代码 4.jquery封装Tab标签选项卡,内含动画版选项卡及滑动门 5.jQuery实现flash动感切换选项卡TAB插件示例 ...
最完整的table转csv&excel;&pdf; jquery插件。最完整的table转csv&excel;&pdf; jquery插件。最完整的table转csv&excel;&pdf; jquery插件。
本示例中的"jquery圆形旋转特效.zip"是一个包含使用jQuery实现的圆形旋转特效的资源包。这个特效通常用于创建吸引用户的交互式导航菜单或展示元素,比如游戏SVG播放导航。 首先,我们要理解SVG(Scalable Vector ...
本文将详细介绍压缩包中的jQuery中文帮助文档,包括各版本的API和相关工具,为开发者提供详尽的参考资源。 **一、jQuery 1.2.6 VSdoc-CN** `jquery-1.2.6-vsdoc-cn.rar`包含的是jQuery 1.2.6版本的中文VSdoc文档。...
为了确保在不支持CSS3的浏览器中也能正常工作,可以使用jQuery的动画方法(如`.animate()`)作为备选方案。同时,使用Modernizr这样的库检测CSS3支持,以便在必要时提供回退方案。 ### 结构化代码 - 创建HTML布局,...