控制语句
if...else语句
<html> <head> <meta charset="utf-8"> <title>控制语句</title> <script type="text/javascript"> 只有两种情况下 if(a==5){ alert("a=5"); }else{alert("a!=5"); } var a=prompt();//输入弹窗输入内容 if(a<5){ alert("a<5") }else if(a>=5&&a<=10) {alert("a>=5并且a<=10");} else if(a>10&&a<20) { alert("a>10并且a<20"); } else { alert("a不在范围内"); } </script> </head> <body> </body> </html>
考试分数练习题if语句
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script type="text/javascript"> var a=prompt(); if (a>80&&a<=100){ alert("你学的不错,值得表扬!"); } else if(a>=50&&a<=60){ alert("就差一点,再加把劲!"); } else if(a<80&&a>60){ alert("及格了"); } else if(a<50&&a>0){ alert("使劲努力,不要偷懒!"); } else if(a==0){ alert("叫家长来学校"); } else {alert("输入的数据有误,请重新输入"); } </script> </head> <body> </body> </html>
switch语句
<script type="text/javascript"> switch(表达式){ case 值1:执行的语句块:break; case 值2:执行的语句块:break; case 值3:执行的语句块:break; ... default:执行的语句块; } </script>
while循环语句
<script type="text/javascript"> while(循环条件){ 循环体语句块; } </script>
do..while 语句的结构
<script type="text/javascript"> do{ 循环体语句块; }while(循环条件) </script>
两者区别:while先判断后执行、循环体语句可能一次都不执行,do while是先执行后判断,所以循环体语句至少执行一次。
for 循环语句的基本结构;
<script type="text/javascript"> for(表达式1;表达式2;表达式3){ 循环体语句; } </script>
for…in 的基本结构提示:当循环次数确定的情况下,一般使用for循环。相比while和do while语法更简洁。
<script type="text/javascript"> for(变量 in 对象){ 执行的语句块; } </script>
<script type="text/javascript"> var arr=new Array(5); arr[0]=1; arr[2]=3; arr[3]="abc"; arr[5]=true; for(var index in arr){ document.write(index+"<br>"); } </script>
作用:1.遍历数组中的所有数组元素。
2.遍历Javascript对象的所有属性。
JavaScript提供了break和continue来改变循环的控制流
<script type="text/javascript"> var i; for(i=0;i<=5;i++){ if(i==4){ break; } document.write("这个数字是"+i+"<br/>"); } </script>
<script type="text/javascript"> var i=0; for(i=0;i<=5;i++){ if(i==4){ continue; } document.write("这个数字是"+i+"<br/>"); } </script>
总结:break直接终止循环,continue结束本次循环而直接进入下一次循环。
练习1:
<script type="text/javascript"> var arr=new Array(5); arr[0]=1; arr[2]=3; arr[3]="abc"; arr[5]=true; for(var index in arr){ document.write(arr[index]+"<br/>"); } </script>
练习2:
<script type="text/javascript"> for(var properties in navigator){ document.write("属性"+properties+",属性值:"+navigator[properties]); } </script>
常用特殊语句
语句是JavaScript的基本执行单位,每条语句都是以分号结束,语句除了我们前面讲的赋值语句、算数,还有一些常用的特殊语句。介绍如下:
语句块:运算等语句以外
<script type="text/javascript"> { var name="ahao"; var age=10; alert("hello"+name); } </script>
*异常抛出语句:
<script type="text/javascript"> { for(var i=0;i<10;i++){ document.write(i+"<br>"); if(i==5){ throw new Error("报错啦"); } } } </script>
With语句:
<script type="text/javascript"> { with(document){ write("输出第一行数据<br/>"); write("输出第二行数据<br/>"); write("输出第三行数据<br/>"); } } </script>
JavaScript函数详解
JavaScript代码复用单位是函数,函数可以包含一段可执行代码,也可以接收调用者传入的参数。JavaScript定义函数主要有以下2种方式:
第一种方式:命名函数
<script type="text/javascript"> function 函数名(参数列表){ 要执行的语句块; } </script>
例:
<script type="text/javascript"> function show(name){ alert(name+"你好"); } show("郭德纲"); </script>
第二种方式:匿名函数
<script type="text/javascript"> function (参数列表){ 要执行的语句块; } </script>
例:
<script type="text/javascript"> var f=function (name){ alert("匿名函数 你好:"+name); } f("郭德纲"); </script>
注意:函数的形参不需要做类型声明,也不要加var,这是JavaScript属于弱类型语言的一种表现。
经验之谈:大多数优秀的javascript框架都使用第二种”匿名函数”语法来定义函数,它的可读性最好,所以我们必须掌握实用它。
练习1:
<script type="text/javascript"> function show(name,age){ alert("名字:"+name+",年龄"+age); } show('zhangsan',28); </script>
函数的返回值
JavaScript中的函数没有声明返回类型,当函数想要返回值的时候直接加上return”值”语句即可,假如不加就代表此函数没有任何返回值。
局部变量和局部函数
v 根据变量的定义范围不同,变量有全局变量和局部变量之分,直接定义的变量时全局变量,在函数中定义的变量称为局部变量,局部变量只能在函数内有效,如果全局变量和局部变量使用相同的变量名,则局部变量将覆盖全局变量。
v 与局部变量对应的是局部函数,局部函数是在函数中定义的,外部函数可以直接调用其内部的函数,在外部函数外直接调用内部函数是不可以的,所以只有当外部函数被调用时,内部局部函数才会被执行。
练习1:
<script type="text/javascript"> // function show(){ // // } // var f=show(); // alert(f); function show(){ return "java"; } var f=show(); alert(f); </script>
创建Date对象方法
Date对象获取时间细节方法:
getDate() |
从Date对象返回一个月中的某一天(1~31) |
getDay() |
从Date对象返回一周中的某一天(0~6) |
getMonth() |
从Date对象返回月份(0~11) |
getFullYear() |
从Date对象以四位数字返回年份 |
getHours() |
返回Date对象的小时(0~23) |
getMinutes() |
返回Date对象的分钟(0~59) |
getSeconds() |
返回Date对象的秒数(0~59) |
getTime() |
返回1970年1月1日至今的毫秒数 |
Date对象设置时间的方法:
setDate() |
设置Date对象中月的某一天(1~31) |
setMonth |
设置Date对象中月份(0~11) |
setFullYear() |
设置Date对象中的年份(四位数字) |
setHours() |
设置Date对象中的小时(0~23) |
setMinutes() |
设置Date对象中的分钟(0~59) |
setSeconds() |
设置Date对象中的秒钟(0~59) |
setMilliseconds() |
设置Date对象中的毫秒(0~999) |
例:创建日期对象
<script type="text/javascript"> var d1=new Date(); document.write(d1.toString()+"<br>"); var d2=new Date("2009-09-09 12:12:10"); document.write(d2.toString()+"<br>"); var d3=new Date("2009,08,08"); document.write(d3.toString()+"<br>"); </script>
例:获取日期对象
<script type="text/javascript"> var d=new Date(); var year=d.getFullYear(); var month=d.getMonth()+1; var date=d.getDate(); var day=d.getDay(); switch(day){ case 0: day="星期日"; break; case 1: day="星期一"; break; case 2: day="星期二"; break; case 3: day="星期三"; break; case 4: day="星期四"; break; case 5: day="星期五"; break; case 6: day="星期六"; break; default: day="错误日期"; } document.write("今天是"+year+"年"+month+"月"+date+"日"+day); </script>
例:设置日期对象
<script type="text/javascript"> var d=new Date();//得到系统时间 d.setFullYear(2011); d.setMonth(2); d.setDate(28); var year=d.getFullYear(); var month=d.getMonth()+1; var date=d.getDate(); var day=d.getDay(); switch(day){ case 0: day="星期日"; break; case 1: day="星期一"; break; case 2: day="星期二"; break; case 3: day="星期三"; break; case 4: day="星期四"; break; case 5: day="星期五"; break; case 6: day="星期六"; break; default: day="错误日期"; } document.write("今天是"+year+"年"+month+"月"+date+"日"+day); </script>
Math对象的常用方法:
abs(x) |
返回数的绝对值 |
ceil(x) |
对数进行上舍入 |
floor(x) |
对数进行下舍入 |
max(x,y) |
返回x和y中的最高值 |
min(x,y) |
返回x和y中的最低值 |
pow(x,y) |
返回x的y次幂 |
random() |
返回0~1之间的随机数 |
round(x) |
把数四舍五入为最接近的整数 |
sqrt(x) |
返回数的平方根 |