现在的位置: 首页 > 综合 > 正文

js return和匿名函数

2018年01月24日 ⁄ 综合 ⁄ 共 523字 ⁄ 字号 评论关闭

今天一个刚学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 (){ 

 return x; 

})(); 


在第一个括号内是匿名函数,第二个括号用于调用该匿名函数,您可以在第二个括号中传入所需的参数。例如: 

代码如下:


(function( x , y){ 

 alert( x + y); 

})(2 ,3 ); 

抱歉!评论已关闭.