return干嘛的?
举个例子
如下,return后面带个括号,括号里是一个变量r。那么调用函数时就会返回该变量的值。
function myfunction(a, b){
var r;
r = a * b;
return(r);
}
myfunction(2,3)//6
那么return一个function是什么意思?
function make(x)
{
return function()
{
return x;
}//inner function over here
}//outer function over here
alert(make(0))
结果把function完整的弹了出来。也就是说返回的是函数本身。
那么如何返回0?也就是内层函数的执行结果而不是内层函数?
有两种方法。第一种make(0)改成make(0)()。这种写法的意思就是内层函数先执行,然后再把结果返回给外层函数。
如果有参数的话,这个第二个括号也可以写参数。
function make(x)
{
return function()
{
return x;
}//inner function over here
}//outer function over here
alert(make(0)())//0
法二:
function make(x)
{
return function()
{
return x;
}()//inner function over here
}//outer function over here
alert(make(0))//0