javascript中的return和闭包函数浅析
2014-06-06 11:28
507 查看
高手绕道!这跟闭包本身没什么大的关系,也不知道怎么取标题,随便凑了个数,望见谅!
今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:
function makefunc(x) {
return function (){
return x;
}
}
alert(makefunc(0));
其实不是不执行,只是朋友的意思这里alert出来的应该是“0”,而不是function (){return x;}。
不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返回一个值。如果返回的是一个函数,那么返回的也是函数本身。
可以这样修改上面的代码,就是alert(makefunc(0)()):
复制代码 代码如下:
function makefunc(x) {
return (function (){
return x;
})();
}
alert(makefunc(0)());
如果要返回函数执行的结果那么首先要让这个函数执行,例如:
function makefunc(x) {
return (function (){
return x;
})();
}
alert(makefunc(0));
这里有一个匿名函数,
复制代码 代码如下:
(function (){
return x;
})();
在第一个括号内是匿名函数,第二个括号用于调用该匿名函数,您可以在第二个括号中传入所需的参数。例如:
复制代码 代码如下:
(function( x , y){
alert( x + y);
})(2 ,3 );
您可能感兴趣的文章:
相关文章推荐
- JavaScript return语句 【每日一段代码53】
- Javascript中return的使用与闭包详解
- JavaScript中return的用法详解
- javascript:return confirm('您确定要删除吗?')
- javascript 如何获取return回来的对象值
- javascript中循环函数中的return
- NO.49 【转】 javascript:return false有什么用
- 浅析javascript的return语句
- Javascript中的Return,Return false和Return true
- Using "return false;" in onclick Event in JavaScript
- 深入理解javascript中return的作用
- JavaScript中return的用法详解
- javascript 函数返回值(return)、定时器(setTimeout、setInterval)
- Javascript Array forEach()中无法return和break,代替方法some()与every()
- Javascript中return false无效化锚点
- javascript return用法
- JavaScript return false
- javaScript中的 if(123) | return | arguments对象
- 【JavaScript】在前台验证表单,必须使用onsubmit="return xx()"的形式
- javascript form onsubmit中的return 后面跟一个函数,其中return 起什么作用