20180716- JavaScript函数

1、掌握函数的作用

     -通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

2、掌握函数的定义

    -函数数使用function声明,后跟一组参数以及函数体,语法如下:

        function functionName([arg0,arg1....argn]){

                                                          statements

                                   }

        说明:

                ①functionName要定义的函数名,属于标识符

                ②[]中的arg0,arg1....argn为函数的参数

                ③[]说明里面的内容不是必须的,它不是语法

3、掌握函数的调用

        语法:

               -函数名([arg0,arg1....argn])

 //声明一个函数  myFun函数名
         function myFun(){
             alert("我是一个函数")
         }
         //函数的调用
         myFun();

         //声明一个带有参数的函数
         function add(num1,num2){
             var sum=num1+num2
             alert(num1+'和'+num2+'的和是'+sum);
         }
         add(3,5);

         add(99,789);

         add(-1,-9);
 

函数的返回值

任何函数通过return语句,后面跟着返回的值来实现返回值。

        说明:

                ①函数会在执行完return语句之后停止并立即退出。

                ②return语句也可以不带有任何返回值,

                    用于提前停止函数执行又不需要返回值的情况。

 function add(num1,num2){
             var sum=num1+num2
             return sum;
         }
         console.log(add(3,5));

         alert(add(99,789));

         var s=add(-1,-9);
         console.log(s);
         document.write('-1+-9='+s);
function myFunction(arg) {
             //如果arg非数字不作任何操作;
             //否则,返回arg的2倍
             if (isNaN(arg))return;
             return arg*2;
         }
        console.log(myFunction(123));// 246           "abc"|undefined

掌握arguments

ECMAScript中的参数在内部用一个数组来表示,

在函数体内通过arguments对象来访问这个数组参数。

        说明:

                ①arguments对象只是与数组类似,并不是Array的实例。

                ②[]语法访问它的每一个元素。

                ③length属性确定传递参数的个数。

function inner(num1,num2) {
             //arguments
             console.log(arguments.length);//2
             console.log(arguments[0]);//索引是从0开始的正整数//10  //1-5
         }
         inner(10,5);
function add(num1,num2) {
             arguments[0]=99;
             console.log(num1);//99
         }
         add(55,88);

 

下面一段代码,和一张图片,为何我的代码不能求和??????

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>document</title>
</head>
<body>
     <script>
       
         //求任意一组数的平均值
         function getAvg() {
            //对所有参数进行求和
             var sum=0,len=arguments.length;
             for (var i=0;i<=len;i++){
                 //sum=sum+arguments[i];
                 sum+=arguments[i];
                 //sum=0+5
                 //sum=0+5+66
                 //sum=0+5+66+45
             }
             console.log(sum);
         }
        getAvg(5,66,45,32,88,24,)

     </script>
</body>
</html>

 

NaN??????

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>document</title>
</head>
<body>
     <script>
       
         //求任意一组数的平均值
         function getAvg() {
            //对所有参数进行求和
             var sum=0,len=arguments.length;
             for (var i=0;i<=len;i++){
                 //sum=sum+arguments[i];
                 sum+=arguments[i];
                 //sum=0+5
                 //sum=0+5+66
                 //sum=0+5+66+45
             }
             return sum/len;
         }
        var avg=getAvg(5,66,45,32,88,24,40)
         console.log(avg);

     </script>
</body>
</html>

 

OK


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>document</title>
</head>
<body>
<script>

    //求任意一组数的平均值
    function getAvg(){          //小括号内可以不写
        //对所有参数进行求和
        var sum=0;len=arguments.length;
        for(var i=0;i<len;i++){     //1=0,所以i小于len即可
            //sum=sum+arguments[i];
            sum+=arguments[i];
            //sum=0+5
            //sum=0+5+66
            //sum=0+5+66+45
        }
        return sum/len;
    }
    var avg=getAvg(5,66,45,32,88,24,40);

    console.log(avg);


</script>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值