javascript运算符——逻辑运算符全面解析_javascript技巧

javascript运算符——逻辑运算符全面解析_javascript技巧

ID:30776562

大小:64.44 KB

页数:5页

时间:2019-01-03

javascript运算符——逻辑运算符全面解析_javascript技巧_第1页
javascript运算符——逻辑运算符全面解析_javascript技巧_第2页
javascript运算符——逻辑运算符全面解析_javascript技巧_第3页
javascript运算符——逻辑运算符全面解析_javascript技巧_第4页
javascript运算符——逻辑运算符全面解析_javascript技巧_第5页
资源描述:

《javascript运算符——逻辑运算符全面解析_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、javascript运算符解析逻辑运算符全面前面的话逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用。逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式。逻辑运算符分为逻辑非'!'、逻辑与'&&'、逻辑或3种,本文将介绍这三种逻辑运算符逻辑非逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值。无论这个值是什么数据类型,这个操作符都会返回一个布尔值。逻辑非操作符首先会将它的操作数转换成一个布尔值,然后再对其求反逻辑非对操作数转为布尔类型的转换类型与Boolean()转型函

2、数相同,只不过最后再将其结果取反。而如果同吋使用两个逻辑非操作符,实际上就会模拟BooleanO转型函数的行为console.log(![undefined);//falseconsole.log(!!null);//falseconsole.log(!!0);//falseconsole.log(!!-0);//falseconsole.log(!!NaN);//falscconsole.log(!!',);//falseconsole.log(!!false);//falseconsole.log(!!{}

3、);//trueconsole.log(!![]);//trueconsole.log(!!newBoolean(false));//trueconsole.log(!!false);//falseconsole.log(!!newBoolean(null));//trueconsole.log(!!null);//fdlsc逻辑非运算符常常用于控制循环//Boolean变量(bFound)用于记录检索是否成功。找到问题屮的数据项吋,bFound将被设置为true,!bFound将等于false,意味着运行将跳

4、[屮iwhile循环varbFound=false;vari=0;wh订e(!bFound){if(aValue[i]二二vSearchValues){bFound二true;}else{i++;}}逻辑与逻辑与运算符曲两个和号(&&)表示,冇两个操作数,只冇在两个操作数都为true时,结果才返回true,否则返回false//逻辑与(&&)的真值表第一个操作数第二个操作数truetruetruetruefalsefalsefalsetruefalse结果falsefalsealse逻辑与操作可以应用于任何类型

5、的操作数,而不仅仅是布尔值。如果其中一个操作数不是布尔值,则逻辑与操作不一定返冋布尔值逻辑与操作屈于短路操作,如果第一个操作数能够决定结果,那么就不会再对第二个操作数求值对于逻辑与而言,如果笫一个操作数是false,则无论第二个操作数是什么值,结果都是false,则返冋第一个操作数;如果第一个操作数为true,则结果的真假和第二个操作数的真假相同,则返回第二个操作数//除了false、undefined、null、+0、-0、NaN>这7个假值,其余都是真值console,logCf&&'');〃因为't'是真

6、值,所以返回''console.logCf&&'f');//因为't'是真值,所以返回'f'console.log(,t,&&1+2);//因为't'是真值,所以返冋3console,log(,?&&'f');//因为’’是假值,所以返回console,log(''&&'');〃因为'‘是假值,所以返回vari二1;varresult=(true&&i++);console.log(result,i);//因为true是真值,所以执行i++,i是2,result是1vari=1;varresult=(false

7、&&i++);console,log(result,i);//因为false是假值,所以不执行i++,i是1,result是false逻辑与运算符可以多个连用,返冋第一个布尔值为false的表达式的值console,log(true&&'foo'&&''&&4&&'foo'&&true);//''关系运算符的优先级比逻辑与(&&)和逻辑或(II)的优先级高,所以类似表达式可以直接书写,不用补充圆括号if@+1二二2&&b+2==3){//Todo}可以使用逻辑与运算符來取代if结构if(a==b){doSome

8、thing();}//等价于(a二二b)&&doSomethingO;逻辑与运算符常常用于回调函数使用小//若没有给参数a传值,则a为默认的undefined,是假值,所以不执行a(),防止报错,如果给参数a传值,则执行函数a()functionfn(a){if(a){a();}}//等价于functionfn(3){a&&a();逻辑或逻辑或运算符由两个竖线(H)表示,冇两个操作数,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。