函数

139 阅读3分钟

1.函数的定义

  1. 函数是就是在它的内部定义一些代码,聚和一下代码。
  2. 封装了一段可以被重复调用执行的代码块。通过代码块可以实现大量代码的重复使用!!

2.函数的使用

  1. 声明函数
  2. 调用函数(函数不能自己调用)

2.1声明函数

  1. 声明函数
  2. 匿名函数声明
  3. 关键词new声明函数
  4. 函数表达式
    <script>
        /*函数有两个步骤
        1. 声明函数
        2.调用函数(函数不能自己调用)
        声明函数
        1.function 函数名(){
            //函数体
        }
        2.匿名函数的声明
         var demo =  function (){}
        3.使用关键词new声明
        var demo = new Fuction('')
        函数的调用
        函数名()即为函数的调用
        // 4.函数表达式
        var fn = function() {

        }
        */
       //函数声明
        function sayHello(){
            console.log('你好 世界')
        }
        // 函数的调用
        sayHello();
    </script>

2.2函数的调用

函数名();
sayHello();

3.参数

  1. 当函数声明时,参数称为形参,而且使用变量的形式!!!两个参数之间用逗号隔开!!!
  2. 在函数的调用时,参数称为实参,可以使用变量或者字面量
  3. 超出形参数目的实参不传递其值。
  4. 如果没有对应的实参(实参数目少于形参数目)传入,其值为undefined。
 <script>
        //1.当函数声明时,参数称为形参,而且使用变量的形式!!!两个参数之间用逗号隔开!!!
        function add(num1, num2){
            return num1 + num2;
        }
        //2.在函数的调用时,参数称为实参,可以使用变量或者字面量
        var a = 300
        console.log(add(a, 40));
</script>

4.return

  1. return 返回的意思
  2. return会终止当前函数的执行,下面的代码不再执行!!!
 <script>
        // return 表示返回的意思
        // return会终止当前函数的执行,下面的代码不再执行!!!

        var arr = [ 33, 30, 309, 459,3, 43,493]
        // 用函数来取 数组中的最大值
        function getArrMax(myarr){
            var max = myarr[0];
            for (var i = 1; i<myarr.length; i++){
                if(max<myarr[i]){
                    max = myarr[i]
                }
            }
            return max;
             // return会终止当前函数的执行,下面的代码不再执行!!!
            console.log('你好世界');
        }
       
        console.log(getArrMax(arr))
</script>

5.arguments

  1. arguments 不是一个真正的数组 但是他可以 arguments[]取值 arguments.length;
  2. 当实参的个数比形参多时 可以通过arguments调用
 <script>
        // arguments 不是一个真正的数组 但是他可以 arguments[]取值 arguments.length;
        function fu(){
            console.log(arguments);//argumets(1,2,3,4,5)
            console.log(arguments.length);// 5
            console.log(arguments[0]);//1
            for(var i = 0 ; i<arguments.length; i++){
                console.log(arguments[i]);
            }
        }
        fu(1,2,3,4,5)

    </script>

函数的嵌套

函数与函数之间可以相互 嵌套 但是 a嵌套b b在嵌套a 则会形成死循环

<script>
        // 函数与函数之间可以相互 嵌套 但是 a嵌套b b在嵌套a 则会形成死循环
        //案例 用函数嵌套 来实现 判断闰年与平年
        function inPutDay(yr){
            if(yr % 4 == 0 && yr % 100 != 0 || yr % 400 == 0){
                return true;
            }else{
                return false;
            }
        }
        function isRunYear(){
            var year =Number(prompt('请输入你的年份'));
            if(inPutDay(year)){
                alert('闰年');
            }else{
                alert('平年');
            }

        }

        isRunYear();
    </script>

函数的调用

  1. 当函数被当做参数传入时 函数有参数则加括号 无参数 不加括号
  2. 当调用函数时,无论有无参数,都加括号。