必威体育Betway必威体育官网
当前位置:首页 > IT技术

js逻辑与、或、非运算规则

时间:2019-10-25 14:44:30来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

或与非

与&&和||不同,!操作符的行为与C、java等语言是一致的,只返回boolean值(true或false)。

针对于!运算,0以及null、""(空字符串)、NaN、undefined,空对象算是做false,加上!将返回true

console.log(!0);    //null

console.log(!null);//null

console.log(NaN); //null

console.log(!"");

//null

console.log(!undefined);/null

与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。

与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。

JavaScript中&&的处理规则是这样的: 

1.判断第一个值是否为False。如果为False,则直接返回第一个值。(0,null,空字符串,NaN,undefined,空对象皆可转换为false布尔类型)

2.如果第一个值为True,则直接返回第二个值;

var o = {x:1, y:2};

console.log(o && o.y);//2

console.log(null && x);//null

var o = {x:1, y:2};

console.log(o && o.y);//2

console.log(null && x);//null

逻辑或||的处理规则 

与&&操作符类似,JavaScript中||的处理规则是这样的:

1.判断第一个值是否为True。如果为True,则直接返回第一个值。

2.如果第一个值为False,则直接返回第二个值。(0,null,空字符串,NaN,undefined,空对象皆可转换为false布尔类型)

||操作符的这种行为使得JavaScript中一些快捷写法成为现实: 

var a = null;

var b = 42;

var v = a || b || 100;

console.log(v);//42

var b = null;

var v = a || b || 100;

console.log(v);//100

function test(p){

 p = p || {};//if p is not passed, make it an empty object.

}

一个特殊的错误案例,判断参数中少些了一个等号,导致将2 && true的最终结果赋值给了a

alert(a=2 && true);

--------------------- 

作者:woi123 

来源:CSDN 

原文:https://blog.csdn.net/woi123/article/details/84820008 

相关阅读

对称与非对称加密算法

一、对称加密算法     指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、

暴风集团停牌,筹划非公开股票事项

A5创业网(公众号:iadmin5)5月29日报道,暴风集团在昨日晚间发出公告,宣布公司筹划非公开发行股票事项,预计融资金额不会超过5000万元,经申

健康猫涉嫌非吸被立案侦查 C轮融资也救不了这样的创业

曾经获得10多家体育产业公司以及个人投资的健身O2O平台“健康猫”被立案调查,抓获9名犯罪嫌疑人,健康猫这个号称“

滴滴外卖成都开送 多家商户暂停配送原因并非爆单

A5创业网(公众号:iadmin5)6月26日报道,昨日,滴滴外卖在成都上线,但一上午滴滴外卖骑手并没有接到单子。然而到了上午11点左右,用户发现在

对称加密算法和非对称加密算法的完美结合

第一 对称加密: 对称加密是指,加密方和解密方使用同样的秘钥来进行加密和解密。在对称加密算法中,数据发信方将明文(原始数据)

分享到:

栏目导航

推荐阅读

热门阅读