在JavaScript 中,逻辑NOT运算符与C和Java中的逻辑 NOT 运算符相同,都由感叹号(!)表示。与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值。
逻辑 NOT 运算符的行为如下:
- 如果运算数是对象,返回 false
- 如果运算数是数字 0,返回 true
- 如果运算数是 0 以外的任何数字,返回 false
- 如果运算数是 null,返回 true
- 如果运算数是 NaN,返回 true
- 如果运算数是 undefined,发生错误
测试脚本如下:
<script type="text/javascript"> var bFalse = false;//运算数是bool类型的数 var sRed = "red";//运算数是字符串 var iZero = 0;//运算数是0 var iThreeFourFive = 345;//运算数是 0 以外的任何数字 var oObject = new Object();//对象 var oNull=null;//运算数是null var oUndefined;//运算数是undifined var oNaN=parseInt("abc");//使用parseInt方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN /* writeln() 方法与 write() 方法几乎一样,差别仅在于是前者将在所提供的任何字符串后添加一个换行符。在HTML中,这通常只会在后面产生一个空格; 不过如果使用了 <PRE> 和 <XMP> 标识,这个换行符会被解释,且在浏览器中显示。 */ document.writeln("<XMP>"); document.writeln("oNaN=parseInt(\"abc\")返回的结果是"+oNaN); document.writeln("bool类型的数false与!运算符运算之后的结果是:" + (!bFalse)); document.writeln("字符串sRed与!运算符运算之后的结果是: " + (!sRed)); document.writeln("数字0与!运算符运算之后的结果是:" + (!iZero));//如果运算数是数字 0,返回 true document.writeln("数字345与!运算符运算之后的结果是:" + (!iThreeFourFive));//如果运算数是 0 以外的任何数字,返回 false document.writeln("对象oObject与!运算符运算之后的结果是:" + (!oObject));//如果运算数是对象,返回 false document.writeln("NaN与!运算符运算之后的结果是:" + (!oNaN));//如果运算数是NaN,返回 true document.writeln("null与!运算符运算之后的结果是:" + (!oNull));//如果运算数是 null,返回 true document.writeln("undifined与!运算符运算之后的结果是:" + (!oUndefined)); //document.writeln("未定义的字符串sBule与!运算符运算之后的结果是:" + (!sBule));//sBule前面没有定义,也就是sBule运算数是 undefined,因此这里发生错误 document.writeln("</XMP>"); </script>
运行结果:
判断JavaScript变量的Boolean 值时,也可以使用逻辑NOT运算符。这样做需要在一行代码中使用两个 NOT 运算符。无论运算数是什么类型,第一个NOT运算符返回 Boolean值,第二个NOT将对该Boolean值取反,从而给出变量真正的Boolean值。使用not运算符判断JavaScript变量的Boolean值是一个非常有用的技巧,只要知道了变量的boolean值,那么当使用变量进行&&或者||运算时,就可以很快知道运算的结果了。
测试脚本如下:
<script type="text/javascript"> var bFalse = false;//运算数是bool类型的数 var sRed = "red";//运算数是字符串 var iZero = 0;//运算数是0 var iThreeFourFive = 345;//运算数是 0 以外的任何数字 var oObject = new Object();//对象 var oNull=null;//运算数是null var oUndefined;//运算数是undifined var oNaN=parseInt("abc");//使用parseInt方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN /* 判断JavaScript 变量的 Boolean 值时,也可以使用逻辑 NOT 运算符。这样做需要在一行代码中使用两个 NOT 运算符。 无论运算数是什么类型,第一个 NOT 运算符返回 Boolean 值。第二个 NOT 将对该 Boolean 值取反,从而给出变量真正的 Boolean 值。 */ document.write("<PRE>"); document.writeln("布尔数false 的逻辑值是 " + (!!bFalse)); document.writeln("字符串sRed 的逻辑值是 " + (!!sRed)); document.writeln("数字0 的逻辑值是 " + (!!iZero)); document.writeln("数字345 的逻辑值是 " + (!!iThreeFourFive)); document.writeln("对象Object 的逻辑值是 " + (!!oObject)); document.writeln("NaN的逻辑值是 :" + (!!oNaN)); document.writeln("null 的逻辑值是 " + (!!oNull)); document.writeln("undefined 的逻辑值是 " + (!!oUndefined)); document.write("</PRE>"); </script>
以上就是关于JavaScript逻辑Not运算符的详细信息,希望对大家的学习有所帮助。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】