Sheldon180621

JavaScript学习(三)——函数及其他对象

一、函数

1、使用arguments对象检测传递给函数的参数个数

<!DOCTYPE html >
<html>
    <head>
        <title>arguments.length</title>
        <script language="javascript">
            function ArgsNum(){
                return arguments.length;
            }
            document.write(ArgsNum("isaac",25)+"<br>");     //2
            document.write(ArgsNum()+"<br>");               //0
            document.write(ArgsNum(3)+"<br>");              //1
        </script>
    </head>

    </body> 
    </body>
</html>
View Code

2、使用arguments对象模拟函数重载

<!DOCTYPE html >
<html>
    <head>
        <title>arguments</title>
        <script language="javascript">
            function fnAdd(){
                if(arguments.length==0)
                    return;
                else if(arguments.length==1)
                    return arguments[0]+5;
                else{
                    var iSum=0;
                    for(var i=0;i<arguments.length;i++)
                        iSum+=arguments[i];
                    return iSum;
                }
            }
            document.write(fnAdd(45)+"<br>");               //50
            document.write(fnAdd(45,50)+"<br>");            //95
            document.write(fnAdd(45,50,55,60)+"<br>");      //210
        </script>
    </head>

    </body> 
    </body>
</html>
View Code

3、杨辉三角实例

<!DOCTYPE html >
<html>
    <head>
        <title>杨辉三角</title>
        <script language="javascript">
            function Combination(m,n){
                if(n==0) return 1;           //每行的第一个数为1
                else if(m==n) return 1;     //每行的最后一个数为1
                //其余都是相加而来
                else return Combination(m-1,n-1)+Combination(m-1,n);
            }
            function Pascal(n){             //杨辉三角,n为行数
                for(var i=0;i<n;i++){       //一共n行
                    for(var j=0;j<=i;j++) {//每行数字的个数即为行号,例如第1行1个数,第2行2个数
                        document.write(Combination(i,j)+"&nbsp;&nbsp;");
                    }  
                        
                    document.write("<br>");
                }
            }
            Pascal(10);                 //直接传入希望得到的杨辉三角的行数
        </script>
    </head>

    </body> 
    </body>
</html>
View Code

二、其他对象

1、使用Date对象计算程序执行速度

<!DOCTYPE html >
<html>
    <head>
        <title>Date对象</title>
        <script language="javascript">
        var myDate1=new Date();     //运行代码前的时间
        for(var i=0;i<3000000;i++);
        var myDate2=new Date();     //运行代码后的时间
        alert(myDate2-myDate1);
        </script>
    </head>

    </body> 
    </body>
</html>
View Code

 2、使用Date对象获取时间的详细信息

 1 <!DOCTYPE html >
 2 <html>
 3     <head>
 4         <title>Date对象</title>
 5         <script language="javascript">
 6         var oMyDate =new Date();
 7         var iYear=oMyDate.getFullYear();
 8         var iMonth=oMyDate.getMonth()+1;    //月份是从0开始的
 9         var iDate=oMyDate.getDate();
10         var iDay =oMyDate.getDay();
11         switch(iDay){
12             case 0:
13                 iDay="星期日";
14                 break;
15             case 1:
16                 iDay="星期一";
17                 break;
18             case 2: 
19                 iDay="星期二";
20                 break;
21             case 3: 
22                 iDay="星期三";
23                 break;
24             case 4: 
25                 iDay="星期四";
26                 break;
27             case 5: 
28                 iDay="星期五";
29                 break;
30             case 6: 
31                 iDay="星期六";
32                 break;
33             default:
34                 iDay="error";
35         }
36         document.write("今天是"+iYear+"年"+iMonth+"月"+iDate+"日,"+iDay);
37         </script>
38     </head>
39 
40     </body> 
41     </body>
42 </html>
View Code

3、使用Date对象获取指定天数的日期

 1 <!DOCTYPE html >
 2 <html>
 3     <head>
 4         <title>Date对象</title>
 5         <script language="javascript">
 6         function disDate(oDate,iDate){
 7             var ms=oDate.getTime();         //换算成毫秒数
 8             ms-=iDate*24*60*60*1000;        //计算相差的毫秒数
 9             return new Date(ms);            //返回新的时间对象
10         }
11         var oBeijing =new Date(2008,7,8);
12         var iNum=100;                       //前100天
13         var oMyDate=disDate(oBeijing,iNum);
14         document.write(oMyDate.getFullYear()+"年"+(oMyDate.getMonth()+1)+"月"+oMyDate.getDate()+"日"+"距离"+oBeijing.getFullYear()+"年"+(oBeijing.getMonth()+1)+"月"+oBeijing.getDate()+"日为"+iNum+"天");
15         </script>
16     </head>
17 
18     </body> 
19     </body>
20 </html>
View Code

4、使用Math.random()随机选择

 1 <!DOCTYPE html >
 2 <html>
 3     <head>
 4         <title>Math.random()</title>
 5         <script language="javascript">
 6         function selectFrom(iFirstValue,iLastValue){
 7             var iChoices=iLastValue-iFirstValue+1;      //计算项数
 8             return Math.floor(Math.random()*iChoices+iFirstValue);
 9         }
10         var iNum=selectFrom(2,99);                      //随机选择数字
11         var aFruits=["apple","pear","peach","orange","watermolon","banana"];
12         //随机选择数组元素
13         var sFruit=aFruits[selectFrom(0,aFruits.length-1)];
14         alert(iNum+""+sFruit);
15         </script>
16     </head>
17 
18     </body> 
19     </body>
20 </html>
View Code

 

发表于 2021-01-06 13:31  不忘初心K  阅读(52)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-10-07
  • 2022-02-05
  • 2021-11-22
  • 2021-07-23
  • 2021-07-13
  • 2021-11-21
  • 2021-05-23
  • 2021-12-09
猜你喜欢
  • 2022-12-23
  • 2021-11-13
  • 2021-08-07
  • 2022-01-11
相关资源
相似解决方案