javascript中的return和闭包函数浅析
高手绕道!这跟闭包本身没什么大的关系,也不知道怎么取标题,随便凑了个数,望见谅!
今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:
functionmakefunc(x){
returnfunction(){
returnx;
}
}
alert(makefunc(0));
其实不是不执行,只是朋友的意思这里alert出来的应该是“0”,而不是function(){returnx;}。
不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返回一个值。如果返回的是一个函数,那么返回的也是函数本身。
可以这样修改上面的代码,就是alert(makefunc(0)()):
functionmakefunc(x){
return(function(){
returnx;
})();
}
alert(makefunc(0)());
如果要返回函数执行的结果那么首先要让这个函数执行,例如:
functionmakefunc(x){
return(function(){
returnx;
})();
}
alert(makefunc(0));
这里有一个匿名函数,
(function(){
returnx;
})();
在第一个括号内是匿名函数,第二个括号用于调用该匿名函数,您可以在第二个括号中传入所需的参数。例如:
(function(x,y){
alert(x+y);
})(2,3);
热门推荐
7 足球队祝福语简短
9 送蛇的祝福语简短
10 婆婆生日祝福语短语简短
11 牛年女神节祝福语简短
12 新年祝福语短句简短搞笑
13 生日祝福语简短独特的
14 今日祝福语简短10字
15 长辈生日祝福语简短女性
16 结婚多层蛋糕祝福语简短
17 潮汕生日谚语祝福语简短
18 圣诞饭店祝福语大全简短