发布网友
共2个回答
懂视网
函数返回值
函数中的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] }
热心网友
return
意思为返回,在程序中同样如此。
比如
function
Test1(obj){
var
resultObj=obj
//可对传入参数进行处理。
return
resultObj;
}
在这个列子中:obj
代表的是一个对象.所谓对象就是所他可以包纳万物.无论是Number
bool
还是String
或这是其他实列都包含在里面.然而Return就是需要将处理过后的结果返回出去。就相当于一个工厂.我提供原材料然而工厂输出的将会是产品.
这样将还不明白我们可以简单的这样理解
比如你需要做一个加法函数。
function
Add(a,b){
var
result=a+b;
return
result;
}
这个列子中。如果你在外部直接调用这个函数如:
var
text=Add(1,2);
就会得到(a+b)的和
也就是说结果是3;