js函数

103 阅读2分钟

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

1.1函数使用可分为两个步骤

    1.声明函数 
    2.调用函数(函数不能自己调用)
    function 函数名() {函数体 }
    function : 函数
    1)匿名函数的声明
    var demo = function() { ... }
    2)使用new关键词进行声明函数
    var demo = new Function("")
    
    
 <script>
    function flower(){
     //声明函数
     console.log("一朝春尽红颜老");
     }

     flower();//调用函数

 </script>

1.2封装一个函数

   
    <script>
            // 1.声明函数
        function getSum() {
            // 1. 1- 100 累加值
            var sum = 0;
            for(var i = 1; i <= 100; i++) {
                sum += i;
            }
            console.log(sum)
        }
        // 2.函数进行调用
          //函数可多次被调用
        getSum();
        getSum();
        getSum();
        getSum();
        getSum();
        getSum();
    </script>

1.3函数的参数

<script>
        // 1.参数放大add(参数1, 参数2)

        // 2.当函数声明时,参数称为形参,而且使用变量的形式!!!
        function add(num1, num2) {
            console.log(num1 + num2)
        }

        // 3.在函数的调用时,参数称为实参,可以使用变量或者字面量
        var a = 1;
        add(a, 1)
        
        
        
        function getSums(start, end) {
            var sum = 0;
            for(var i = start; i <= end; i++) {
                sum += i;
            }
        }
        getSums(2, 200)
        getSums(3, 300)
    </script>

1.4形参和实参个数匹配问题

 <script>
        function getSum(num1, num2) {
            console.log(num2)
            console.log(num1 + num2) // NaN
        }

        // 形参和实参匹配
        getSum(1, 2)      //3
        getSum(1, 2, 3)   //3
        getSum(1)  
    //NaN(以为第二个没有传入参数,则默认为空,1+空,输出为NaN)
    </script>

1.5函数的返回return

<script>
        function add(num1, num2) {
            return num1 + num2;
        }
        console.log(add(1, 2))
    </script>

1.6返回两个数字中最大的值

 <script>
    //第一种利用三元表达式来做
    function number(num1,num2){
      return num1>num2?num1:num2;
    }
    console.log(number(2,9));
  </script>
  <script>
    // 第二种做法
    function number(num1,num2){
     if(num1>num2){
       return num1;
     }
     else{
       return num2;
     }
    }
    console.log(number(2,9));
  </script>

1.7求数组中的最大值

<script> 
        function getArrMax(myarr) {
            var max = myarr[0];
            for(var i = 1; i <= myarr.length; i++) {
                if(myarr[i] > max) {
                    max = myarr[i]
                }
            }
            return max;
     // 这里的 11111会不会打印?不会打印。return会终止当前函数的执行,
     //下面的代码不再执行!!!
            alert("11111")
        }

        // 调用时传递进去实参,
        var arr = [5, 100, 290, 45, 1, 2]
       console.log(getArrMax(arr))
    </script>