这个返回undefined是为什么

来源:5-4 编程练习

Ting111

2020-11-28 23:10:34

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

  <title>Document</title>

</head>

<body>

  <script type="text/javascript">

    // 补充代码

    const sum=0;

    function  add(...arr){

      for(i=0;i<arr.length;i++){

          sum+=arr[i];

          

           }

    }

    const arr=(1,2,3,4,5);

    console.log(add());

  </script>

</body>

</html>


写回答

3回答

好帮手慕久久

2020-11-29

同学你好,老师给你改的代码,是可以实现效果的:

http://img.mukewang.com/climg/5fc36efb09517f3c06110213.jpg

代码如下:

// 补充代码

let sum=0;

function  add(...arr){

    for(i=0;i<arr.length;i++){

        sum+=arr[i];

    }

    return sum;

}

// const arr=(1,2,3,4,5);

console.log(add(1,2,3,4,5));

这样写,循环中的arr就是接收到的所有参数组成的数组

http://img.mukewang.com/climg/5fc36f5d0991fd7105910493.jpg

http://img.mukewang.com/climg/5fc36f6a0927d93105760068.jpg

所以arr.length是有效的。

建议同学检查一下自己的代码,看下哪里写错了。或者把修改后的代码再粘贴出来,老师帮您检查一下。
祝学习愉快!

0

好帮手慕久久

2020-11-29

同学你好,问题解答如下:

由于调用add方法时,没有传参数,所以结果是0:
http://img.mukewang.com/climg/5fc3328009bd83b606700478.jpg
可做如下调整:
http://img.mukewang.com/climg/5fc3332909c7143007610536.jpg
祝学习愉快!

0
hing111
hp>那这样写的时候,循环里面的arr.length就无效了,要写什么条件在里面

h020-11-29
共1条回复

好帮手慕久久

2020-11-29

同学你好,问题解答如下:

由于函数add中没有使用“return”设置返回值(没写:return XXX),所以调用add后,add会默认返回undefined,因此打印undefined:

http://img.mukewang.com/climg/5fc302c109e4811605090074.jpghttp://img.mukewang.com/climg/5fc302fe09972ee207880358.jpg

改成如下形式,才会有打印内容:
http://img.mukewang.com/climg/5fc30367096bb5df05130272.jpg
效果如下:
http://img.mukewang.com/climg/5fc3039109af784605970176.jpg
祝学习愉快!

0
hing111
hp><!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

  <title>Document</title>

</head>

<body>

  <script type="text/javascript">

    // 补充代码

   const sum=0;

    function  add(...arr){

      for(i=0;i<arr.length;i++){

          sum+=arr[i];

         

           }

            return sum;

    }

    const arr=(1,2,3,4,5);

    console.log(add());

  </script>

</body>

</html>

返回0

h020-11-29
共1条回复

0 学习 · 10739 问题

查看课程