javaScript知识点-函数

169 阅读2分钟

01-函数的定义与调用

在JS中函数是一种复杂数据类型,用于存储代码。 函数,一次封装多处调用

定义:
function 函数名(){
  函数体
 }

进行封装的函数,必须调用里面的代码块才能生效,

function fn() {
            let str = '<table width="800" height="500" border="1" rules="all">';

            for(let col=1;col<=9;col++){       // 1                2 

                str += '<tr>';
                for(let row=1;row<= col;row++){   // 1 2 3 4 ... 10    1 2 3 4 ... 10
                    str += `<td>${row}*${col}=${row * col}</td>`; 
                } 
                str += '</tr>';
            }

            str += '</table>';
            document.write(str)
} 

02-函数的定义与调用练习

        // 需求:封装一个函数,对数组求和。
        function fn() {
            //debugger  调试一下
            let arr = [2,4,4,4,8,6]
            let atr = 0;
            for (let i=0; i<arr.length; i++){
                // atr = atr +arr[i];
                atr+=arr[i];
            }
            document.write(atr);
        }
        //....
        //....
        //....
        //....
        fn();    //28
        //....
        //....
        //....
        //....

03-函数的参数

        /*
        参数的作用是用于在调用函数是向函数内部传递数据
        参数分形参与实参。
        实参与形参之间就是一个是传递一个是接收
        
        形参:
                函数定义时的参数,
                在函数内部就是一个变量
        */
        function fn(x,y){
            let ret = x + y ;
            console.log(ret);
        }

        // 调用
        //函数调用时的参数,实参数可以变量,也可以是具体的值
        //实参:函数调用时的参数
        let z = 10;
        fn(z,200);           // 对x=z 与y=200求和 =210

        fn(50,90);           // 对x=30 与y=50 求和 =140
        /* 
        小结:
            形参 与 实参,共用作用将外部的数据传递到函数内部。
            实参是传,形参是收
            数据的传递是按顺序
            形参只在内部有效
        */

04-函数返回值

  • 返回值的注意事项
  • 1。使用return
  • 2。一个函数中只能执行到一次return
  • 3.如果想返回多个值,可以使用[ ]的方式,
       //函数的返回值
       //return 数据
       // 函数内部return的数据会返回到函数的调用处

        function fn(){
            // 定义一个变量模拟函数内部生成的数据
            let data = 200;
            // 函数内部的数据可以在内部访问
            console.log(data);

            // 将data中的数据返回
            return data;
        }

        // 外部要接收
        let ret = fn();
   
        console.log(ret)    //200

求任意数组中的最大值和最小值,并返回最大值和最小值。


      // arr:类型是数组
      function getMaxByArr(arr) {
        let max = arr[0];
        let min = arr[0];
        for (let i = 1; i < arr.length; i++) {
          if (max < arr[i]) {
            max = arr[i]
          }
          if (min > arr[i]) {
            min = arr[i]
          }
        }
        // 将最大值返回
        return [max,min];
      }
      let ret = getMaxByArr([1, 23, 243, 534, 5, 456, 57, 7])
      //console.log('数组中的最大值是' + max)
      alert(ret[0]);  // 534
      alert(ret[1]);  // 1

05-函数的练习

需求:封装一个函数,求任意数组的最大值,

        function fn(arr) {
            // let arr = [21,34,56,87,45,98]
            let atr = arr[0];
            for (let i=1; i<arr.length; i++){
                if (arr[i]>atr){
                    atr= arr[i];
                }
            }
            document.write(atr);
        }
        fn([21,34,56,87,47875,98]);

        fn([21,34,56,87,45,98]);

        fn([21,34,1510,87,45,98]);

        fn([21,34,56,5557,45,98]);