当前位置: 首页 > 编程笔记 >

解释&&和||在javascript中的另类用法

徐瑞
2023-03-14
本文向大家介绍解释&&和||在javascript中的另类用法,包括了解释&&和||在javascript中的另类用法的使用技巧和注意事项,需要的朋友参考一下

又开始研究起 Titanium 来,发现其官方出品的MVC框架(Alloy)还是挺不错的,刚开始苦于没有好的代码来学习,文档又少,所以一直没去详细研究,后来发现原来官方的 CodeStrong 就是一套非常不错的学习代码,只要看通了其整套代码,相信对Alloy的使用也基本会了~

在看其源码的同时,发现很多地方使用了诸如以下的用法:

$.clouds && ($.index.add($.clouds));

开始不是很理解,毕竟平时这样用的也少,上了下google后才知道原来这样写法非常方便好用(其实jquery的源码里也大量使用此html" target="_blank">方法)。以下引用一段网上找到的解释&&和||在javascript中的另类用法:
a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;

&& 优先级高于 ||

看完后就相当清楚了,再看看具体代码:
alert((1 && 3 || 0) && 4); //结果4 ①
alert(1 && 3 || 0 && 4); //结果3 ②
alert(0 && 3 || 1 && 4); //结果4 ③

分析:

语句①:1&&3 返回3 => 3 || 0 返回 3 => 3&&4 返回 4
语句②:先执行1&&3 返回3,在执行0&&4返回0,最后执行结果比较 3||0 返回 3
语句③:先执行0&&3 返回0,在执行1&&4返回4,最后执行结果比较 0||4 返回 4
注:非0的整数都为true,undefined、null和空字符串”” 为false。

感觉javascript确实挺强挺灵活的!!

 类似资料:
  • 本文向大家介绍Javascript的&&和||的另类用法,包括了Javascript的&&和||的另类用法的使用技巧和注意事项,需要的朋友参考一下 最近也没什么心思写文章了,感觉总有忙不完的事情,呵。 不过这些天又开始研究起 Titanium 来,发现其官方出品的MVC框架(Alloy)还是挺不错的,刚开始苦于没有好的代码来学习,文档又少,所以一直没去详细研究,后来发现原来官方的 CodeStro

  • 我有一些服务类,它们扩展了带有@Annotation1注解的BaseService类。在@Annotation1中还有另一个注释-@Annotation2。 我希望能够创建aspect方法,它在用@Annotation2注释的类中的所有方法之前运行,所以在任何扩展BaseService类的服务中都是如此。 当我直接在BaseService中应用@AnNotation2时,我可以运行方面方法,或者当

  • 问题内容: 我是C ++ / Java程序员,在日常编程中碰巧使用的主要范例是OOP。在某个线程中,我读到一条评论,即Type类本质上比OOP更直观。有人可以用简单的词来解释类型类的概念,以便像我这样的OOP家伙可以理解吗? 问题答案: 首先,我总是非常怀疑这种程序结构更直观。编程是违反直觉的,并且总是会因为人们自然而然地根据特定情况而不是一般规则来思考。要更改此设置,需要培训和实践,也称为“编程

  • 问题内容: 我偶然发现了将DOM NodeList转换为常规数组的简洁捷径,但我必须承认,我并不完全了解它的工作原理: 因此,它以一个空数组开头,然后用于将结果转换为新数组,是吗? 我不明白的是。它如何从NodeList转换为常规数组? 问题答案: 这里发生的是,您调用它就像是使用的功能。在这种情况下,要做的是创建一个空数组,然后遍历其运行的对象(最初是一个数组,现在是一个数组),并将该对象的元素

  • 本文向大家介绍什么是JSON.stringify()并解释其在javascript中的用法?,包括了什么是JSON.stringify()并解释其在javascript中的用法?的使用技巧和注意事项,需要的朋友参考一下 JSON.stringify() 如果需要将数据发送到Web服务器,则数据应为字符串。要将对象文字更改为字符串,应使用JSON.stringify()方法。 示例1 输出结果 示例

  • 问题内容: 什么是JSONP,为什么需要它,以及在使用中的一些实际示例? 问题答案: JSONP表示带填充的JSON,它为客户端提供了一种方法,该方法可以指定一些应添加到JSON响应的开始的代码。这允许JSONP响应直接在浏览器中执行。JSONP响应的示例可能是: 我认为JSONP有用的主要地方是使用标签跨域发出请求。我认为主要缺点是,由于直接执行JSONP,因此您必须相信远程站点不会发回任何恶意