JavaScript return 语句, 表示从被调函数返回到主调函数继续执行, 返回时可附带一个返回值, 由 return 后面的参数指定. return 通常是必要的, 因为函数调用的时候计算结果通常是通过返回值带出的.
return 语句:
return 语句会终止函数的执行并返回函数的值.
语法:
return value;
参数:
value: 指定返回的函数值. 如果忽略, 将返回 undefined
return 语句的应用:
1,return 语句会终止函数的执行并返回函数的值.
写一个 button 触发 onclick 事件
- function demo1() {
- return1;
- document.write('<div class="print-result">'+"demo1"+'</div>');
- }
在 return 的时候, 函数值等于 1, 后续代码不会再执行, 不会有后续输出.
- function demo2() {
- function a(b,c) {
- return b+c;
- document.write('<div class="print-result">'+ (b+c) +'</div>');
- }
- var abc=a(5,80);
- alert(abc);
- }
调用 abc 这个变量的时候, 它的值会是 85; 如果想直接输出结果, 不要返回值那就删除掉 return b+c, 这样 abc 是没有值的, 但是网页会输出 85.
也可以说默认函数是没有返回值的. 通常函数经过一系列处理后需要给外部返回一个值或者对象, 如
- function demo3() {
- function sum(a,b){
- returna+b
- }
- alert(sum(1,2));
- }
这个时候 alert 显示的值是 3, 而如果去掉 return, 则会返回 undefined.
2, 基于函数返回值的应用
return 在终止函数运行时的应用: 为事件处理函数返回 return:false; , 作用在于阻止默认事件行为和取消默认动作, 如
<a href ="一个网址" onclick= "return demo4()">demo4</a>
为它添加一个 return 值
function demo4() {return false;}
这样点击链接就不会跳转
以上就是 return 的常见用法, 此时有一个比较常见的问题, 即: 若在 for 循环中使用了 return, 还会执行下一次循环吗?
- function demo5() {
- for(var i=1; ;i++) {
- console.log(i+"A");
- return;
- console.log(i+"B");
- }
- console.log(i+"C");
- }
由于出现 return, 函数直接终止运行并且返回当前值, 所以这段函数的输出值只有 1A.
所以, 如下函数,
- function demo6() {
- function counter() {
- for(var count=1; ;count++) {
- console.log(count+"A");
- if(count===5) {
- return;
- }
- console.log(count+"B");
- }
- console.log(count+"C");
- }
- counter();
- }
输出值是 1A,1B,2A,2B,3A,3B,4A,4B,5C.
来源: http://www.css88.com/qa/javascript/11331.html