return的用法
1.背景介绍
return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码), 主调函数可以通过返回值判断被调函数的执行情况。
2.知识剖析
返回值是必须有的,作用就是把固定不变的。常用的代码封装起来 写在类里 每次用到的时候就调用就行了 如果需要这个共能返回一个值, 甚至一个对象 就需要用返回值了就是用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);
那么页面会输出85,但abc是没有值的;
也可以说默认函数是没有返回值的。 通常函数经过一系列处理后需要给外部返回一个值或者对象
比如function sum(a,b){return a+b};
alert(sum(1,2))==>3
如果没有return将会弹出undefined3.常见问题
若用在for循环中用到了return,还会执行下一次循环吗?
4.解决方案
function counter() {
for (var count = 1; count++) { // infinite loop
console.log(count + "A");
return; //直接就返回了,下面的代码不会再执行
console.log(count + "B");
}
console.log(count + "C");
}
counter();
// Output:
// 1A
中断功能,函数立即停止在该点return被调用。
function counter() {
for (var count = 1; ; count++) { // infinite loop
console.log(count + "A"); // until 5
if (count === 5) {
return;
}
console.log(count + "B"); // until 4 (因为在5的时候,就已经return了)
}
console.log(count + "C"); // never APPears (因为这个c写在了for循环的外面)
}
counter();
// Output:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
5.编码实战
function abc(a,b) {
var c = a + b;
return c;
}
var d=abc(5,9);
alert(d);===>14;
6.扩展思考
除了return,还有哪些可以让for循环中断呢?
就是break 跟 continue ;
↓
break
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。continue
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。 continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误![dié dài]
迭代
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。函数
在数学中,迭代函数是在碎形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。7.参考文献
参考:峰峰师兄
参考:冲冲老师
8.更多讨论
什么是迭代,或者你已经联想到了递归,想深入了解「递归」和「迭代」有哪些区别?
参考:我是冲冲,我为疑难杂症代言!点我
问题:
1.for循环中用到return会中断循环吗?
会的。
2.除了return,还有什么可以中断for循环?
break和continue
3.return和break的区别是什么?
点击打开链接
相关阅读
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: (1) public static <T extends Compara
执行一般的sql更新语句为update table_name set column_name=value where column_name1=value1;但是我们有时候需要将某个表用的
在理解promise的使用之前,首先要理解js语言的运行环境是单线程的,也就是说一次只能完成一个任务,也就是一条流水线,如果有多个任务就
如何使用try{}catch(){} /*当里面有错误时不抛出错误,而且运行catch里面的语句,try里面错误语句的后续代码不再运行,但是不影响后续
js中innerHTML与innerText的用法与区别用法:<p id="test"> <span style="color:red">test1</span> test2</p>在JS中可以使用