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会执行函数体,不加也会执行
答
返回值可有可无,因为返回值是不会影响函数执行的。
答
但是得不需要返回值才可以