重拾JS-09-函数

本文详细介绍了JavaScript中函数的声明与调用,包括匿名函数的使用。通过实例展示了如何封装冒泡排序、求累加和等常见操作。同时,阐述了形参和实参的传递过程,以及如何使用函数返回值。此外,还讲解了arguments对象在处理不定数量参数时的作用,并给出了求多个数最大值和数组翻转的示例。
摘要由CSDN通过智能技术生成

目标:解决以下问题

  • 函数的使用

方式1:函数使用分为两步:函数声明和函数调用
 

//1.声明函数
//function 函数名(){
    //函数体
//}
//2.函数调用
//函数名();

    //函数的使用
        function sayHi(){
            console.log('新垣结衣我爱你');
        }
        sayHi();
   //求1~100的累加和
        function add(){
            var sum=0;
            for(var i=1;i<=100;i++){
                sum+=i;
            }
            console.log(sum);
        }
        add();

方式2:var 变量名=function(){}//匿名函数

    var fun=function(aru){
        console.log(aru);
    }
    fun('我是星野源');

 

  • 根据需求封装函数
    //封装冒泡排序
    function sort(arr){
        var temp=0;
        for(var i=0;i<arr.length-1;i++){
            for(var j=0;j<arr.length-i-1;j++){
                if(arr[j]<arr[j+1]){
                    temp=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                }
            }
        }
        return arr;
    }
    console.log(sort([4, 2, 3, 1, 5]));

 

 

  • 说出形参和实参的传递过程
   //形参接收实参
        function eat(cook){
            console.log(cook);
        }
        eat('武汉热干面');
        eat('猪蹄');

   //利用函数求任意两个数的和
        function add(num1,num2){
            console.log(num1+num2);
        }
        add(2,3);
        //累加
        function getSum(start,end){
            var sum=0;
            for(var i=start;i<=end;i++){
                sum+=i;
            }
            console.log(sum);
        }
        getSum(1,100)
     </script>

函数实参和形参匹配问题:

1.实参和形参个数一致,则正常输出结果;

2.实参个数多于形参个数,则按照形参个数输出结果

3.实参个数少于形参个数,则未定义的形参会输出undefined

  • 能够使用函数的返回值

1.函数只是实现某个功能,最终的结果需要返回给函数调用者

   function add(num1,num2){
            return num1+num2;
        }
        console.log(add(2,4));

   //求任意两个数的最大值
        function getMax(num1,num2){
           return num1>num2?  num1: num2;
        //     if(num1>num2){
        //         return num1;
        //     }else{
        //         return num2;
        //     }
         }
        console.log(getMax(20,23));

   //案例:求数组中的最大值
        function getMax(arr){
            var max=arr[0];
            for(var i=1;i<arr.length;i++){
                if(arr[i]>max){
                    max=arr[i];
                }
            }
            return max;
        }
        console.log(getMax([5,2,99,101,67,77]));

2.return有终止函数的功能

 //return的终止函数作用
        function add(num1,num2){
            return num1+num2;
            alert('我不会被执行')
        }
        console.log(add(2,4));

3.return只能返回一个值

4.函数中有return只能返回return后面的值,否则返回undefined

 

  • 能够使用arguments获取函数的参数

arguments实际上是当前函数的一个内置对象,所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参

1.是一个伪数组,并不是真正意义上的数组

2.具有数组的length属性,按照索引的方式进行存储

3.他没有真正数组的一些方法比如pop(),push()等等

      function say(){
            console.log(arguments);
            console.log(arguments.length);
            console.log(arguments[3]);
        }
        say(1,3,5,'嘟嘟嘟')

  //求任意个数的最大值
        function getMax(){
            var max=arguments[0];
            for(var i=1;i<arguments.length;i++){
                if(arguments[i]>max){
                    max=arguments[i];
                }
            }
            return max;
        }
        console.log(getMax(1,4,6,45,56,67));

  //利用函数翻转任意数组
    function flip(arr){
        var arr1=[];
        for(var i=arr.length-1;i>=0;i--){
                arr1[arr1.length]=arr[i];
        }
        return arr1;
    }
    console.log(flip([1,2,3,4,5,6,7]));

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值