详解JavaScript逻辑Not运算符

前端之家收集整理的这篇文章主要介绍了详解JavaScript逻辑Not运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在JavaScript 中,逻辑NOT运算符与C和Java中的逻辑 NOT 运算符相同,都由感叹号(!)表示。与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值。

逻辑 NOT 运算符的行为如下:

  • 如果运算数是对象,返回 false
  • 如果运算数是数字 0,返回 true
  • 如果运算数是 0 以外的任何数字,返回 false
  • 如果运算数是 null,返回 true
  • 如果运算数是 NaN,返回 true
  • 如果运算数是 undefined,发生错误

测试脚本如下:

方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN

/
writeln() 方法与 write() 方法几乎一样,差别仅在于是前者将在所提供的任何字符串后添加一个换行符。在HTML中,这通常只会在后面产生一个空格;
不过如果使用了

  1. <span class="pln"> </span><span class="pun">标识,这个换行符会被解释,且在浏览器中&lt;</span><span class="pln">a href</span><span class="pun">=</span><span class="str">"/tag/xianshi/"</span><span class="pln"> target</span><span class="pun">=</span><span class="str">"_blank"</span><span class="pln"> </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"keywords"</span><span class="pun">&gt;显示&lt;</span><span class="str">/a&gt;。&lt;br /</span><span class="pun">&gt;</span>
  2. <span class="pun">&lt;</span><span class="str">/em&gt;/</span><span class="pun">&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  3. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"&lt;XMP&gt;"</span><span class="pun">);&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  4. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"oNaN=parseInt(\"abc\")返回的结果是"</span><span class="pun">+</span><span class="pln">oNaN</span><span class="pun">);&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  5. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"bool类型的数false与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">bFalse</span><span class="pun">));&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  6. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"字符串sRed与!运算符运算之后的结果是: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">sRed</span><span class="pun">));&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  7. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"数字0与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">iZero</span><span class="pun">));</span><span class="com">//如果运算数是数字 0,返回 true&lt;br /&gt;</span>
  8. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"数字345与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">iThreeFourFive</span><span class="pun">));</span><span class="com">//如果运算数是 0 以外的任何数字,返回 false&lt;br /&gt;</span>
  9. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"对象oObject与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">oObject</span><span class="pun">));</span><span class="com">//如果运算数是对象,返回 false&lt;br /&gt;</span>
  10. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"NaN与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">oNaN</span><span class="pun">));</span><span class="com">//如果运算数是NaN,返回 true&lt;br /&gt;</span>
  11. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"null与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">oNull</span><span class="pun">));</span><span class="com">//如果运算数是 null,返回 true&lt;br /&gt;</span>
  12. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"undifined与!运算符运算之后的结果是:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">oUndefined</span><span class="pun">));&lt;</span><span class="pln">br </span><span class="pun">/&gt;</span>
  13. <span class="com">//document.writeln("未定义的字符串sBule与!运算符运算之后的结果是:" + (!sBule));//sBule前面没有定义,也就是sBule运算数是 undefined,因此这里发生&lt;a href="/tag/cuowu/" target="_blank" class="keywords"&gt;错误&lt;/a&gt;&lt;br /&gt;</span>
  14. <span class="pln">document</span><span class="pun">.</span><span class="pln">writeln</span><span class="pun">(</span><span class="str">"</span>");

运行结果:

判断JavaScript变量的Boolean 值时,也可以使用逻辑NOT运算符。这样做需要在一行代码中使用两个 NOT 运算符。无论运算数是什么类型,第一个NOT运算符返回 Boolean值,第二个NOT将对该Boolean值取反,从而给出变量真正的Boolean值。使用not运算符判断JavaScript变量的Boolean值是一个非常有用的技巧,只要知道了变量的boolean值,那么当使用变量进行&&或者||运算时,就可以很快知道运算的结果了。

测试脚本如下:

方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN /* 判断JavaScript 变量的 Boolean 值时,也可以使用逻辑 NOT 运算符。这样做需要在一行代码中使用两个 NOT 运算符。 无论运算数是什么类型,第一个 NOT 运算符返回 Boolean 值。第二个 NOT 将对该 Boolean 值取反,从而给出变量真正的 Boolean 值。 */ document.write("
  1. ");
  2. document.writeln("布尔数false 的逻辑值是 " + (!!bFalse));
  3. document.writeln("字符串sRed 的逻辑值是 " + (!!sRed));
  4. document.writeln("数字0 的逻辑值是 " + (!!iZero));
  5. document.writeln("数字345 的逻辑值是 " + (!!iThreeFourFive));
  6. document.writeln("对象Object 的逻辑值是 " + (!!oObject));
  7. document.writeln("NaN的逻辑值是 " + (!!oNaN));
  8. document.writeln("null 的逻辑值是 " + (!!oNull));
  9. document.writeln("undefined 的逻辑值是 " + (!!oUndefined));
  10. document.write("
");

猜你在找的JavaScript相关文章