js函数体中一定要有return吗?

问题描述:

我目前疑惑的是函数体中一定要有返回值吗,如果没有返回值那函数体就不起作用了吗,还是说函数依旧会执行,只是不会有值返回?
我好奇为什么像下面的函数体代码中没有return,也可以执行输出结果

 /*js计算班级总成绩,班级平均分
参数: 总成绩,班级人数,成绩,平均分*/
<script>
        var classScore = document.getElementById('class score');
        classScore.onclick = function() {
            var num = prompt('请输入班级总人数:');
            var score;
            var average;
            var sum = 0;
            for (var i = 1; i <= num; i++) {
                var score = prompt('请输入第' + i + '个学生的成绩');
                sum = sum + parseFloat(score);
            }
            alert(sum);
            alert(average = sum / num);
        }
    </script>

你的那个写法是给onclick绑上一个匿名函数,不是把函数的返回值给onclick
给onclick绑上一个函数,点击后会执行函数和有没有返回值无关

可以有返回值,也可以没有。有无,返回值不影响函数执行。

与返回值无关 有没有都不影响函数执行,并且有返回值你接不接都无所谓 前提是你用不上返回值的情况

在JavaScript里面,函数时可以不需要返回值的,跟java一样,java中函数如果没有返回值的话需要加上void进行修饰,但是js的话是一种变量松散定义,属于弱类型语言;所以函数体前面不需要这些修饰,你加了rerun会执行函数体,不加也会执行

返回值可有可无,因为返回值是不会影响函数执行的。

但是得不需要返回值才可以