假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html
今天一个刚学js的朋友给了我一段代码问为什么方法不执行,代码如下:
代码如下:
function makefunc(x) {
return function (){
return x;
}
}
alert(makefunc(0));
结果是:function (){return x;}不是0
不是脚本写错了,只是没搞懂return,从当前函数退出,并从那个函数返回一个值。如果返回的是一个函数,那么返回的也是函数本身。
可以这样修改上面的代码,就是alert(makefunc(0)()):
如果想要执行alert(makefunc(0))返回的结果是0,可以这么改写;例如:
代码如下:
function makefunc(x) {
return (function (){
return x;
})();
}
alert(makefunc(0));
这里有一个匿名函数,
代码如下:
(function (){
return x;
})();
在第一个括号内是匿名函数,第二个括号用于调用该匿名函数,您可以在第二个括号中传入所需的参数。例如:
代码如下:
(function( x , y){
alert( x + y);
})(2 ,3 );