2.运算符
Javascript中的运算符和Java大致相同。
只是运算过程中需要注意几点:
1,var x = 3120/1000*1000; x = 3120;而不是3000。
2,var x = 2.4+3.6 ; x = 6;而不是6.0
3,var x = “12” + 1; x = “121”; x = “12” – 1 ; x = 11;
加号对于字符串是连接符
4,&& || 是逻辑运算符 & | 是位运算符。
5,也支持三元运算符
6,特殊运算符 typeof : 返回一个操作表达式的数据类型的字符串。
var x = 3;
var y = “123”;
var z = false;
typeof(x); //number
typeof(y); //string
typeof(z); //boolean
代码演示:
<script type="text/javascript"> //5 运算符:算术、赋值、比较、位运算、三元运算 //5.1算术运算 var a = 3710; alert("a="+a/1000);//a=3.71 alert("a="+a/1000*1000);//a=3710 var b = 2.3; var c = 5.7; alert( b+c );// 8 alert( 23+11 ); //34 alert("23"+11);//2311---string---加号为字符串连接 alert("23"-11);//12 //字符串遇到减号自动会转换成数值型进行运算 alert(false+1);//1 false是0 //true 和数值进行运算时,true为1,false为0 alert(100%3);//1 alert(100%-3);//1 alert(-100%3);//-1 如果有负数,结果和前面那个数同符号-和Java一样的 //5.2 赋值运算:= += -= *= /= %= var n=3,m; m=n++;//用法同Java alert("n="+n+",m="+m);//n=4,m=3 var n=3,m;//JS中变量可以声明几次--和Java不同 m=++n; alert("n="+n+",m="+m);//n=4,m=4 var n; alert(n);//4---这里没有对该变量重新赋值,所以用的还是前面n的值(内存还是同一片) var i=3; i+=3;//其他的类似 -= *= /= %= alert("i="+i);//i=6 //5.3 比较运算符---和Java类似 var j=10; alert(j>5);//true //其他如:>= <= > < == != 类似 //5.4 逻辑运算符 && || ! var k=4; alert(k>3 && k<10);//true alert( !(k>3) ); //false alert( !k );//false---和C一样 //5.5 位运算符 & | ^ >> << >>>(无符号右移)---和Java一样 var c = 6;//6:110 alert( c&3 );//3:011 //结果是:010 弹出:2 alert( c^100^100 );//结果还是c -- 6 alert(c>>>1);//3 //5.6 三元运算符(问号表达式) alert( 3>0?100:300 );//100 var xxyy; alert(xxyy);//undefined---如果一个变量声明后没有赋值,就是这个 alert(xxyy==undefined);//这里不要写成字符串的形式,true alert(xxyy=="undefined");//false //这个undefined代表和true和false等一样的,是一个值,所以不要用引号 </script>
3.语句(与Java语句格式相同)
1.判断结构(if语句)
注:var x = 3;
if(x==4)//可以进行比较运算。
if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。
因为在Js中0或者null就是false,
非0或者非null就是true(通常用1表示)。
所以if(x=4)结果是true;
可以通过if(4==y)来解决该问题。因为4=y不会进行判断,而是会报错。
2.选择结构(switch语句)
与java不同的是:因为弱类型,也可以对字符串进行选择。
代码演示:
<html> <head> <title>javascript语法演示</title> </head> <script type="text/javascript"> //1 if语句 var x=3; if(x>0){ alert("yes");//结果yes }else{ alert("no"); } if(x-4){//和C一样非0的概念,不是0的都是true alert("yes2");//结果yes2 }else{ alert("no2"); } if(x=4){//一个等于号是赋值,结果是4---非零,即是true alert("yes3");//yes3 }else{ alert("no3"); } if(x=0){ alert("yes3"); }else{ alert("no3");//no3 } //赋值是什么,该值同时也作为整个表达式的值 //建议,如果是判断相等,写成如下方式 if(4==x){//把数字放在前面,可以避免一个等于号的bug } //逗号表达式--以最后一个逗号后的结果为真正的值 var b =(3,4+5); alert(b);//9 var c = 5; if(c>1){ alert("a");//a }else if(c>2){ alert("b"); }else if(c>3){ alert("c"); }else{ alert("d"); } </script> <script type="text/javascript"> //Java---switch表达式支持的类型:byte,int等整数,char //Java1.7之后 支持字符串String //JavaScript语言:支持所有类型,即所有类型的数据都可以用于选择 var x = "abc"; switch(x){ case "aa": alert("a");break; case "abc": alert("b"); default: alert("c"); } //弹出:b c switch(x){ default: alert("c"); case "aa": alert("a");break; case "abc": alert("b"); } //弹出:b x="x"; switch(x){//如果没有匹配上 default: alert("c");//这里运行完,还会运行后面的 case "aa": alert("a");break; case "abc": alert("b"); } //弹出:c a </script> <body> </body> </html>
3.循环结构(while语句,do…while语句,for语句)。
注:不同的是,没有了具体数据类型的限制,使用时要注意。
代码演示:
<html> <head> <title>javascript语法演示</title> <link rel="stylesheet" href="table.css"/> </head> <body> <h3> 湖南城市学院 </h3> <script type="text/javascript"> //循环:for while do-while var sum=0; for(var i=1;i<=100;i++){ sum+=i; } document.write("sum="+sum);//直接显示在网页相对应位置!!! //sum=5050 var x=1; sum=0; while(x<=100){ sum+=x; x++; } document.write("<br/><font color=\"#ff0000\" > sum2="+sum+"</font><br/>"); //写入了换行和font color=\"#ff0000\" color='#ff0000' --单引号也可以的 </script> <br/> <a href="http://baidu.com"> 百度一下 </a> <br/> <hr> <script type="text/javascript"> //转移语句:break,continue,return for(var x=0;x<3;x++){ for(var y=0;y<4;y++){ document.write("x="+x+" "); break; } document.write("<br/>"); } document.write("<hr/>"); a:for(var x=0;x<3;x++){ for(var y=0;y<4;y++){ document.write("x="+x+" "); break a; } document.write("<br/>"); } </script> <hr/> <h2>九九乘法表</h2> <script type="text/javascript"> for(var x=1;x<10;x++){ for(var y=1;y<=x;y++){ document.write(x+"*"+y+"="+x*y+" "); } document.write("<br/>"); } </script> <h2>九九乘法表2</h2> <script type="text/javascript"> document.write("<table>"); for(var x=1;x<10;x++){ document.write("<tr>"); for(var y=1;y<=x;y++){ document.write("<td>"+x+"*"+y+"="+x*y+"</td>"); } document.write("</tr>"); } document.write("</table>"); </script> </body> </html>
table.css
table{ width: 600px; } table td{ border: #f00 solid 1px; }