JS复习(5)函数

函数

  • 函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。

函数在使用时分为两步:声明函数和调用函数。

// 声明函数
function 函数名() {
 //函数体代码
}
// 调用函数
函数名(); // 通过调用函数名来执行函数体代码 函数不调用,自己不执行。

  • 函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
  // 利用函数计算1-100之间的累加和
        function getSum(){
        var sum = 0;
        for(var i = 1; i<=100; i++){
            sum +=i;
        }
        console.log(sum);
        }

        getSum();
函数的形参和实参
  • 在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。
  • 参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
 // 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...);
 // 3. 形参和实参的执行过程
        function cook(aru) { // 形参是接受实参的  aru = '酸辣土豆丝' 形参类似于一个变量
            console.log(aru);

        }
        cook('酸辣土豆丝');
        cook('大肘子');
        // 4. 函数的参数可以有,也可以没有个数不限
 // 1.利用函数求任意两个数的和
  function getSum(num1, num2) {   
      var sum = num1 + num2;
      console.log(sum);
  }

  getSum(1,2);
   // 2. 利用函数求任意两个数之间的和

  function getSum(num1, num2){
      var sum = 0;
      for(var i = num1; i<=num2; i++){
        sum +=i;
      }
      console.log(sum);
  }
  getSum(1,3);
   // 3. 注意点
      // (1) 多个参数之间用逗号隔开
      // (2) **** 形参可以看做是不用声明的变量 ****

注意:在JavaScript中,形参的默认值是undefined。

函数的返回值 return

有的时候,我们会希望函数将值返回给调用者,此时通过使用 return 语句就可以实现。

// 声明函数
function 函数名(){
 ...
 return 需要返回的值;
}
// 调用函数
函数名(); // 此时调用函数就可以得到函数体内return 后面的值

在使用 return 语句时,函数会停止执行,并返回指定的值
如果函数没有 return ,返回的值是 undefined

 function getSum(num1, num2) {
            return num1 + num2;
        }
        console.log(getSum(1, 2));
// 利用函数 求两个数的最大值
    function getMax(num1, num2){
        return num1>num2?num1:num2;

    }

    console.log(getMax(1,2));
  // 利用函数求数组 [5,2,99,101,67,77] 中的最大数值。
     function getArrMax(arr){
         var max = arr[0];
         for(var i = 1; i<=arr.length-1; i++){
             if(arr[i]>max){
                 max = arr [i];
             }
         }
        return max;
     }
     // 在我们实际开发里面,我们经常用一个变量来接受 函数的返回结果 使用更简单
     var re = getArrMax( [5,2,99,101,67,77]);
     console.log(re);
 // 函数返回值注意事项
        // 1. return 终止函数
        function getSum(num1, num2) {
            return num1 + num2; // return 后面的代码不会被执行
            alert('我是不会被执行的哦!')
        }
        console.log(getSum(1, 2));
        // 2. return 只能返回一个值
        function fn(num1, num2) {
            return num1, num2; // 返回的结果是最后一个值
        }
        console.log(fn(1, 2));

        // 3.  我们求任意两个数的 加减乘数结果
        function getResult(num1, num2) {
            return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
        }
        var re = getResult(1, 2); // 返回的是一个数组
        console.log(re);
        // 4. 我们的函数如果有return 则返回的是 return 后面的值,如果函数么有 return 则返回undefined
        function fun1() {
            return 666;
        }
        console.log(fun1()); // 返回 666
        function fun2() {

        }
        console.log(fun2()); // 函数返回的结果是 undefined
 //  创建一个函数,实现两个数之间的加减乘除运算,并将结果返回
 function operator(num1, num2){
    var arr = [num1+num2, num1-num2, num1*num2, num1/num2];
    return arr;
 }

 var re = operator(1,2);
 console.log(re);
break ,continue ,return 的区别
  • break :结束当前的循环体(如 for、while)
  • continue :跳出本次循环,继续执行下次循环(如 for、while)
  • return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码
arguments的使用
  • 当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。在 JavaScript 中,arguments 实际上
    它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的
    所有实参。
  • arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:具有 length 属性, 按索引方式储存数据, 不具有数组的 push , pop 等方法
// arguments 的使用  只有函数才有 arguments对象  而且是每个函数都内置好了这个arguments
        function fn() {
            // console.log(arguments); // 里面存储了所有传递过来的实参  arguments = [1,2,3]
            // console.log(arguments.length);
            // console.log(arguments[2]);
            // 我们可以按照数组的方式遍历arguments
            for (var i = 0; i < arguments.length; i++) {
                console.log(arguments[i]);

            }
        }
        fn(1, 2, 3);
        fn(1, 2, 3, 4, 5);
        // 伪数组 并不是真正意义上的数组
        // 1. 具有数组的 length 属性
        // 2. 按照索引的方式进行存储的
        // 3. 它没有真正数组的一些方法 pop()  push() 等等
//案例:利用函数求任意个数的最大值
function maxValue() {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
}
console.log(maxValue(2, 4, 5, 9));
console.log(maxValue(12, 4, 9));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值