这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 JavaScript 逻辑 Not 运算符,逻辑 NOT 运算符与 C 和 Java 中的逻辑 NOT 运算符相同,都由感叹号(!)表示,想要深入了解逻辑 Not 运算符的朋友可以参考一下
在 JavaScript 中,逻辑 NOT 运算符与 C 和 Java 中的逻辑 NOT 运算符相同,都由感叹号(!)表示。与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值。
逻辑 NOT 运算符的行为如下:
测试脚本如下:
- <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>
来源: http://www.phperz.com/article/17/0408/268285.html