JavaScript Class 4
学习内容:
1.with语句
用于设置代码在特定对象中的作用域。
1 <script> 2 with(document){ 3 write("第一行"); 4 write("第二行"); 5 write("第三行"); 6 } 7 function validate_email(field,alerttxt){ 8 with (field){//with内的代码只作用于field变量 9 apos=value.indexOf("@") 10 dotpos=value.lastIndexOf(".") 11 if (apos<1||dotpos-apos<2) { 12 alert(alerttxt);return false; 13 }else { 14 return true; 15 } 16 } 17 } 18 </script>
2.函数
1 <script> 2 方法1,命名函数 3 function 函数名(参数){ 4 要执行的语句块; 5 } 6 function show(name,age){ 7 document.write("您的姓名"+name+"<br/>"); 8 document.write("您的年龄"+age); 9 } 10 函数调用 11 show("king",999);//传参 12 无参函数 13 function w(){ 14 document.write("这是一个无参函数"+"<br/>"); 15 } 16 w(); 17 方法2,匿名函数,使用变量引用 18 var a = function(){ 19 alert("Anonymous"); 20 } 21 a(); 22 </script>
ps 通过事件调用函数:
1 <input type="button" value="点我" onclick="show('king',999);">通过onClick事件来调用函数
3.return
结束运行之后的代码并返回值
1 <script> 2 function show(name,age){ 3 document.write("您的姓名"+name+"<br/>"); 4 document.write("您的年龄"+age); 5 return name; 6 } 7 var a = show("king",999);//用a变量接收show函数返回的name值 8 alert(a); 9 var cor = function(a,b){ 10 c = a+b; 11 return c; 12 } 13 var sub = cor(2,4); 14 alert(sub); 15 function f4(a,b,c,d){ 16 sub = a*b+c*d; 17 return sub; 18 } 19 var num = f4(6,7,2,4); 20 alert(num); 21 </script>
4.全局变量与局部变量
1 <script> 2 var a = 12;//全局变量,js文件内全部可访问 3 function f(){ 4 var b = 5;//局部变量,只有函数内可访问 5 return b; 6 } 7 var d = f();//接收返回值 8 document.write(d); 9 </script>
5.内置对象
Date对象:
1 <script> 2 创建方法1 3 var d1 = new Date(); 4 document.write(d1.toString()+"<br/>");*/ 5 创建方法2 6 var d2 = new Date("2008-09-15 15:31:54"); 7 document.write(d2.toString());*/ 8 //Date 方法调用 9 var date = new Date(); 10 设置时间,不设置默认获取系统时间 11 date.setFullYear(1998); 12 date.setMonth(11);//范围0-11 实际输出月份-1 13 date.setDate(24); 14 var year = date.getFullYear(); 15 var month = date.getMonth()+1;//0-11 +1转换为 1-12月 16 var d = date.getDate(); 17 var day = date.getDay();//取值范围0-6 周日-周六 18 switch(day){ 19 case 0: 20 day = "星期天"; 21 break; 22 case 1: 23 day = "星期一"; 24 break; 25 case 2: 26 day = "星期二"; 27 break; 28 case 3: 29 day = "星期三"; 30 break; 31 case 4: 32 day = "星期四"; 33 break; 34 case 5: 35 day = "星期五"; 36 break; 37 case 6: 38 day = "星期六"; 39 break; 40 default: 41 alert("不存在的"); 42 } 43 44 document.write(year+"年"+month+"月"+d+"日"+day); 45 </script>
PS:输入日期判断星期几
1 <script> 2 var y = parseInt(prompt("请输入年份:")); 3 var m = parseInt(prompt("请输入月份")); 4 var d = parseInt(prompt("请输入日:")); 5 var date = new Date(); 6 var year = date.setFullYear(y); 7 var month = date.setMonth(m-1);//一定要-1,setMonth取值范围为0-11,而用户会输入1-12; 8 var day = date.setDate(d); 9 var jd = date.getDay(); 10 switch(jd){ 11 case 0: 12 alert("星期日"); 13 break; 14 case 1: 15 alert("星期一"); 16 break; 17 case 2: 18 alert("星期二"); 19 break; 20 case 3: 21 alert("星期三"); 22 break; 23 case 4: 24 alert("星期四"); 25 break; 26 case 5: 27 alert("星期五"); 28 break; 29 case 6: 30 alert("星期六"); 31 break; 32 default: 33 alert("不存在的"); 34 } 35 </script>
6.Math对象
1 <script> 2 var a = Math.abs(-9);//取绝对值 3 var b1 = Math.ceil(1.2);//上舍入 输出3 4 var b2 = Math.ceil(-2.2);//输出-2 5 var c = Math.floor(3.9);//下舍入 输出3 6 var d = Math.max(5,4);//取最大值 7 var e = Math.min(6,7);//取最小值 8 var f = Math.pow(2,3);//2的3次幂 9 var g = Math.random();//返回大于等于0小于1的随机数 10 var h = Math.round(4.3);//输出4 四舍五入 11 var i = Math.sqrt(4);// 求平方根,输出2 12 //Math.PI //π 圆周率
// parseInt(Math.random()*(max-min+1)+min,10);//max 期望的最大值 min期望的最小值 parseInt(string,进制数),10就是10进制,可省略,默认10进制
13 with(document){ 14 write(a+" "); 15 write(b1+" "); 16 write(b2+" "); 17 write(c+" "); 18 write(d+" "); 19 write(e+" "); 20 write(f+" "); 21 write(g+" "); 22 write(h+" "); 23 write(i+" "); 24 } 25 </script>
ps:输入半径返回圆的面积
1 <script> 2 var r = prompt("请输入半径:"); 3 /*var r2 = Math.pow(r,2); 4 var p = Math.PI; 5 function area(){ //无参 6 var area = p*r2; 7 return area; 8 } 9 var sub = area(); 10 alert(sub);*/ 11 function area(r){ //有参 12 var p = Math.PI; 13 var r2 = Math.pow(r,2); 14 var area = p*r2; 15 alert(area); 16 } 17 area(r); //自调用 18 </script>
2018/02/27