T086学习网 | 站长学院 | 技术文档 | 成语 | 歇后语 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论 | 欣欣百宝箱

你真的理解了JavaScript的逻辑操作符吗?

【 来源:笑笑设计作者:supNate 更新时间:2006-05-08 | 字体:
[导读]在javascript中使用&&、||、!来实现逻辑运算,其基本用法相信大家已经熟知,本文将深入介绍其工作机制,相信对大家更加灵活的使用javascript会用帮助。每个逻辑表达式都是有返回值的,但这个值并不一...

在javascript中使用&&、||、!来实现逻辑运算,其基本用法相信大家已经熟知,本文将深入介绍其工作机制,相信对大家更加灵活的使用javascript会用帮助。

每个逻辑表达式都是有返回值的,但这个值并不一定是布尔变量,下面分别介绍:
(1)与操作符(&&)
与操作符的执行过程如下:javascript依次获取每一个操作数,将它们转换为布尔变量,如果是false,则直接返回这个操作数的值(注意,返回的是转换前的原值,不一定是布尔类型),中断后面操作数的处理;否则继续处理下一个操作数。如果直到最后一个操作数仍然对应布尔变量true,则返回最后这个操作数的值,下面的代码演示了其执行原理:

var a="1" && true && 0 && false && "abc";
alert(a);  //可见a的值是0
var b="abc" && true && "123";
alert(b);  //可见b的值是"123";

(2)或操作符(||)
和与操作符类似,或操作符的执行过程如下:javascript依次获取每一个操作数,将它们转换为布尔变量,如果是true,则直接返回这个操作数的值,中断后面操作数的处理;否则继续下一个操作数。如果知道最后一个操作数仍然对应布尔变量false,则返回这个操作数的值。下面的代码演示了其执行原理:

var a="abc" || "123";
alert(a);  //可见a的值是"abc"
var b=false || "" || 0;
alert(b);  //可见a的值是0

或操作符的这一性质在开发中经常会用到。
(3)非操作符(!)
和前两种操作符不同,非操作符始终返回布尔类型的变量,例如:

var a=! "abc";
alert(a);  //显示a的值为false
  • 转载请注明来源:IT学习网 网址:http://www.t086.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
更多
留言建议ASP探针PHP探针站长Enjoy的Blog
© 2017 T086学习网 - T086.com(原itlearner.com)
RunTime:11.12ms QueryTime:7