04 js运算符2
关系运算符:
<html> <head> <script type="text/javascript"> var a = 56; var b = a++; if (a==b) { window.alert("OK!"); }else { window.alert("NO!"); } //数字与字符串比较,并没有转成ASCII码比较 //而是直接对应的数来用 var c = 97; var d ='97'; if (c==d) { window.alert("OK!"); }else { window.alert("NO"); } </script> </head> <body> </body> </html>
运行结果:
介绍window.prompt()和document.writeln()函数
prompt() 方法用于显示可提示用户进行输入的对话框。
如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
writeln()该方法用一个字符串作为其参数,并在浏览器中显示。该字符串可以是普通文本或 HTML。
<html> <head> <script type="text/javascript"> //prompt() 方法用于显示可提示用户进行输入的对话框。 //如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。 var val = window.prompt("请输入值:"); var val2 = window.prompt("请再输入一个值:"); //write() 方法可向文档写入 HTML 表达式或 JavaScript 代码。 //输入的是字串 document.writeln("你的输入是:"+(val+val2)); //解决:如何把字串转为数 document.writeln("你的输入是:"+(parseFloat(val)+parseFloat(val2))); </script> </head> <body> </body> </html>
关系运算符的使用:
请编写一个程序,该程序可以接收两个数(可以是整数,也可以是小数)
并判断两个数是大于小于还是等于
<html> <head> <script type="text/javascript"> var num1 = window.prompt("请输入第一个数:"); var num2 = window.prompt("请再输入第二个数:"); num1 = parseFloat(num1); num2 = parseFloat(num2); if (num1 > num2) { window.alert("num1 > num2"); }else if (num1 < num2) { window.alert("num1 < num2"); }else { window.alert("num1 == num2"); } </script> </head> <body> </body> </html>
逻辑运算符:
与&& 或|| 非!
(1)与 &
If (逻辑表达式1 && 逻辑表达式2)
{
}
如果逻辑表达式1 为TRUE 则js继续执行逻辑表达式2
如果逻辑表达式1 为FALSE 则js不会执行逻辑表达式2
<html> <head> <script type="text/javascript"> // 逻辑运算符的是用 var a=90; var b=9;if (a>b && ++a>345) { window.alert("OK"); } else { window.alert("NO"); } window.alert("a="+a); </script> </head> <body> </body> </html>
运行结果:
(2)或 ||
If (逻辑表达式1 || 逻辑表达式2 || ...........)
{
}
只要有一个逻辑表达式为真,整个就为真
(3)非 !
If (! 逻辑表达式){
}
如果 逻辑表达式true 【!逻辑表达式为 false】
如果 逻辑表达式false 【!逻辑表达式为 true】
特别说明:
在逻辑运算中 0、 “”、null、 NaN、 undefined均表示为false假
这里有一个非常重要的知识:
//在js中 || 究竟返回什么
//将返回第一个不为FALSE那个值(对象亦可)或者返回最后一个值(如果都是FALSE的话)
|| 或 返回的结果不一定是布尔值
测试代码:
<html> <head> <script type="text/javascript"> // 在js中 || 究竟返回什么 var a=0; var b=""; var d=false; var c=d||a ||b ; window.alert(c); </script> </head> <body> </body> </html>
运行效果:
js位运算和移位运算,其规范和java一致
var a=4>>2
var a=4>>2;结果是1
//4的二进制 00000100 右移2位
var b=-4>>2;结果是-1