码迷,mamicode.com
首页 > 编程语言 > 详细

【javaScript逻辑&&与逻辑或】alert(true&&"a")你知道弹出什么吗?

时间:2015-02-28 21:33:15      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:

在javaScript里&&运算和||运算使用非常频繁,但是在某种情况下你当真明白其中含义?

例如:今天分析JQ addClass方法的时候出现的这句

proceed = typeof value === "string" && value

刚看到的时候真是一头雾水,发现基础薄弱,还等什么,立马百度呀,于是找到一篇不错的文章 :

 

一、先来说说||(逻辑或),从字面上来说,只有前后都是false的时候才返回false,否则返回true。

alert(true||false);    // true
alert(false||true);    // true
alert(true||true);        // true
alert(false||false);    // false

但是,从深层意义上来说的话,却有另一番天地,试下面代码

alert(0||1);

显然,我们知道,前面0意味着false,而后面1意味着true,那么上面的结果应该是true,而事实返回的结果是1。再看下面代码:

alert(0||“a”);

同样前面0是false “a” 是true。测试结果是“a”,继续看:

alert(0||false)

两边都是false,测试结果为false,为||号右边的值。

经过以上测试大家不难发现,以上代码只看||号左边的值,如果左边的值为false就取右边的值(无论右边的值是什么);那当||号左边的值为true呢?来看以下测试:

 

alert(2||1);

前面为true 后面也为true,测试结果 是 2,再来看一个:

alert(2 || 0)

前面2为true,后面0为false,结果为2。

这个测试觉得好简单,当然了我是为了说明一些事情:还是只看||号左边的值,如果值为true,就取左边的值(无论右边的值是什么)。(PS:右边可能不是亲生的)

【javaScript逻辑&&与逻辑或】alert(true&&"a")你知道弹出什么吗?

标签:

原文地址:http://www.cnblogs.com/yangzonglong/p/4306162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!