视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
javascript基础教程之函数返回值return语法实例详解
2020-11-27 20:15:14 责编:小采
文档


函数返回值

  函数中的return语句用来返回函数调用后的返回值

return expression;

  return语句只能出现在函数体内,如果不是会报语法错误

return 1;//SyntaxError: Illegal return statement

  如果没有return语句,则函数调用仅仅依次执行函数体内的每一条语句直到函数结束,最后返回调用程序。这种情况下,调用表达式的结果是undefined

var test = function fn(){}
console.log(test);//undefined

  当执行到return语句时,函数终止执行,并返回expression的值给调用程序

var test = function fn(){ 
 return 2;
};
console.log(test());//2

  [注意]并不是函数中return语句后的所有语句都不执行,finally语句是例外,return语句不会阻止finally子句的执行

function testFinnally(){
 try{
 return 2;
 }catch(error){
 return 1;
 }finally{
 return 0;
 }
}
testFinnally();//0

 [注意]由于javascript可以自动插入分号,因此在return关键字和它后面的表达式之间不能有换行

var test = function fn(){ 
 return 2;
};
console.log(test());//undefined

  一个函数中可以有多个return语句

function diff(iNum1, iNum2) {
 if (iNum1 > iNum2) {
 return iNum1 - iNum2;
 } else {
 return iNum2 - iNum1;
 }
}

return语句可以单独使用而不必带有expression,这样的话也会向调用程序返回undefined

var test = function fn(){ 
 return;
};
console.log(test());//undefined

  return语句经常作为函数内的最后一条语句出现,这是因为return语句可用来使函数提前返回。当return被执行时,函数立即返回而不再执行余下的语句

//并没有弹出1
var test = function fn(){
 return;
 alert(1);
};
console.log(test());//undefined

如果函数调用时在前面加上了new前缀,且返回值不是一个对象,则返回this(该新对象)

function fn(){
 this.a = 2;
 return 1;
}
var test = new fn();
console.log(test);//{a:2}
console.log(test.constructor);//fn(){this.a = 2;return 1;}

如果返回值是一个对象,则返回该对象

function fn(){
 this.a = 2;
 return {a:1};
}
var test = new fn();
console.log(test);//{a:1}
console.log(test.constructor);//Object() { [native code] }

下载本文
显示全文
专题