这里是修真院前端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【return的使用方法 】

codesys return codesys return的用法_for循环

今天给大家分享一下,修真院官网JS任务4,深度思考中的知识点——return的使用方法

一、背景介绍

return:表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

二、知识剖析

返回值不是必须有的。

作用就是把固定不变的,常用的代码封装起来写在类里 。每次用到的时候就调用就行了。如果需要这个功能返回一个值,甚至一个对象就需要用返回值了,就是用return来把把值返回给调用的者。

return 语句会终止函数的执行并返回函数的值。

比如:

function a(){
return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
document.write(50);//由于上面已经return了,这条代码不会执行
}

至于什么时候会用到,那看你要函数来做什么,你要他返回值就返回咯,不要他返回就不返回咯!

比如,用函数来做一个加法运算,需要他返回值,那就这样

function  a( b, c ) {
return b  + c;
}

那么调用:

var abc = a(5, 80);

这个时候,abc这个变量的值会是85

如果想直接输出结果,不要返回值那就

function a( b, c ) {
document.write( b + c );
}
var abc = a(5, 80);
alert(abc)    //undefined

这个时候调用,

那么页面会输出85,但abc是没有值的;

三、常见问题

若用在for循环中用到了return,还会执行下一次循环吗?

function counter() {
for (var count = 1;  count++) {  // infinite loop
console.log(count + "A");
return;                        //直接就返回了,下面的代码不会再执行
console.log(count + "B");
}
console.log(count + "C");
}
counter();

答案是不会执行return之后的语句,直接跳出循环,执行函数之后的语句。

四、扩展思考

除了return,还有啥可以让for循环中断呢?

break 跟 continue可以使for循环中断。

break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。

continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

五、参考文献

1、峰峰师兄

2、冲冲老师

3、《Javascript DOM 编程艺术》

PPT地址:https://ptteng.github.io/PPT/PPT/js-01-return%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95.html#/

视频地址:https://v.qq.com/x/page/d0505v9s31l.html

六、更多讨论

什么是迭代,或者你已经联想到了递归,想深入了解「递归」和「迭代」有哪些区别?