在JavaScript中,逻辑非运算符与C和Java中的逻辑非运算符相同,用感叹号(!)说。与逻辑“或”和逻辑“与”运算符不同,逻辑“非”运算符必须返回布尔值。
逻辑非运算符的行为如下:
如果操作数是对象,则返回false;如果操作数是数字0,则返回true;如果操作数不是0,则返回false;如果操作数为null,则返回true;如果操作数为NaN,则返回true;如果操作数未定义,则出现错误。测试脚本如下:
脚本类型=' text/JavaScript ' var bFalse=false;//操作数是一个bool类型的数var sRed=' red//操作数是字符串var iZero=0;//操作数为0varithrefourfive=345//操作数是除0以外的任何数字。var oObject=new Object();//对象var oNull=null//操作数为null var oUndefined//操作数是未定义的var OnAN=ParSeint(' ABC ');//使用parseInt方法将试用字符串abc转换为整数,由于abc不是数字,所以无法转换,所以返回的结果是NaN /* writeln()方法与write()方法几乎相同,只是前者会在提供的任何字符串后添加一个换行符。在HTML中,这通常只会在其后产生一个空格。但是,如果使用PRE和XMP徽标,该换行符将被解释并显示在浏览器中。*/document . writeln(' XMP ');文件。writeln(' OnAN=par sent( ' ABC ')返回' OnAN ');Document.writeln('bool)类型号false和!运算符操作的结果是:“(!bfal se));document . writeln(' string SRed and!运算符操作的结果是:“(!sRed));Document.writeln('数字0和!运算符操作的结果是:“(!伊泽罗);//如果操作数是数字0,则返回true document.writeln('数字345和!运算符操作的结果是:“(!ithreefourful));//如果操作数不是0,则返回false document . writeln(' Object oObject and!运算符操作的结果是:“(!oObject));//如果操作数是对象,则返回false document.writeln('NaN and!运算符操作的结果是:“(!(OnAN));//如果操作数是NaN,则返回true document.writeln('null and!运算符操作的结果是:“(!oNull));//如果操作数为null,则返回true document . writeln(' undefined and!运算符操作的结果是:“(!undefined));//document.writeln('未定义的字符串sBule和!运算符操作的结果是:“(!sBule));//之前没有定义sBule,也就是说sBule操作数没有定义,所以这里出现了一个错误document . writeln(“/XMP”);/脚本运行结果:
在判断JavaScript变量的布尔值时,也可以使用逻辑非运算符。这样做需要在一行代码中使用两个非运算符。不管操作数的类型如何,第一个“非”运算符返回布尔值,第二个“非”运算符否定布尔值,从而给出变量的真实布尔值。使用not运算符判断JavaScript变量的布尔值是一个非常有用的技巧。只要知道变量的布尔值,就可以在使用变量进行or | |运算时快速知道运算的结果。测试脚本如下:
脚本类型=' text/JavaScript ' var bFalse=false;//操作数是一个bool类型的数var sRed=' red//操作数是字符串var iZero=0;//操作数为0varithrefourfive=345//操作数是除0以外的任何数字。var oObject=new Object();//对象var oNull=null//操作数为null var oUndefined//操作数是未定义的var OnAN=ParSeint(' ABC ');//使用parseInt方法将试用字符串abc转换为整数。因为abc不是数字,所以不能转换,所以返回的结果是nan。/*在判断JavaScript变量的布尔值时,也可以使用逻辑not运算符。这样做需要在一行代码中使用两个非运算符。不管操作数的类型如何,第一个“非”运算符都会返回一个布尔值。第二个“非”否定布尔值,从而给出变量的真实布尔值。*/document . write(' PRE ');document . writeln(' boolean false '的逻辑值为'(!bfal se));Document.writeln('字符串sRed的逻辑值是'(!sRed));Document.writeln('数字0的逻辑值是'(!伊泽罗);Document.writeln('数字345的逻辑值是'(!ithreefourful));Document.writeln('对象的逻辑值是'(!oObject));document.writeln('NaN)的逻辑值为:“(!(OnAN));document . writeln(' null '的逻辑值是(!oNull));文件。writeln(' undefined '的逻辑值是'(!undefined));document . write('/PRE ');/脚本
以上是关于JavaScript的逻辑Not运算符的详细信息,希望对大家的学习有所帮助。