有什么区别:
function bla1(x){console.log(x)}
和
function bla(x){return console.log(x)}
我应该在哪些情况下使用return
?
另外,当从函数返回一个值时,会发生什么?它存放在某个地方吗?
答案 0 :(得分:22)
有什么区别
第一个函数返回undefined
(因为它没有显式return
),第二个函数返回console.log
返回的任何内容。
我应该在哪些情况下使用return?
当函数生成某个值并且您想将其传递回调用者时。以Math.pow
为例。它需要两个参数,base和exponent,并将引发的基数返回给指数。
当从函数返回一个值时,会发生什么?它存放在某个地方吗?
如果要存储返回值,则必须将其分配给变量
var value = someFunction();
这会将someFunction
的返回值存储在value
中。如果在不指定返回值的情况下调用该函数,则会以静默方式删除该值:
someFunction();
这些是编程基础知识,不仅与JavaScript相关。您应该找到一本介绍这些基础知识的书,尤其是JavaScript,我建议您阅读MDN JavaScript Guide。也许关于Functions的维基百科文章也很有帮助。
答案 1 :(得分:7)
返回函数是一种从函数传回数据的方法。
示例:强>
function test(){
var test = 1+1;
return test;
}
var feedback = test(); //feedback would now contain the value 2 if outputted.
我们还可以将一个变量发送到函数中,然后将其返回。
示例2:
function test(i){
i= i+1;
return i;
}
var feedback = test(1); //feedback would also output the value 2.
答案 2 :(得分:1)
正如您已经提到的,return使您可以调用函数并保存其返回值。
这是一个小例子:
function bla(x) { return "blablabla"; }
如果我调用该方法,我将获得一个带有blablabla的字符串:
var blastring = bla(x);
alert(blastring);
这会导致使用blablabla发出警报。
答案 3 :(得分:0)
使用function
指定console.log
的值。您可以使用此值进行进一步操作或将其存储到变量中等等。
自return
undefined
s function
以来,您问题中的示例是等效的,因为未达到return语句的undefined
也将返回function sum(arr) {
var s = 0;
for (var index in arr) {
s += arr[index];
}
return s;
}
function prodsum(arr, scalar) {
return scalar * sum(arr);
}
console.log(prodsum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3));
。但是,让我举个例子:
return
结果将为165.如果我们移除function
,则return
将undefined
function sum(arr) {
var s = 0;
for (var index in arr) {
s += arr[index];
}
s;
}
function prodsum(arr, scalar) {
scalar * sum(arr);
}
console.log(prodsum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3));
:
undefined
,结果也是function
。基本上,如果您希望return
得出结论或最终价值,那么您就会有START /B /wait "runas /user:administrator & cd C:\users\MyName\dropbox\!!GIT_HUB_REPOS_ALL\tangycode.github.io & hexo generate & hexo serve --draft"
START /B "" http://localhost:4000/
。
答案 4 :(得分:0)
如果您只是在函数中添加return;
。它会停止执行该功能。